server

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2023 License: AGPL-3.0 Imports: 30 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrorMethodNotAllowed is returned when client tries to upgrade method other than GET
	ErrorMethodNotAllowed = errors.New("Method not allowed")
)

Functions

This section is empty.

Types

type InternalServer

type InternalServer struct {
	// contains filtered or unexported fields
}

InternalServer is handle to internal http server

func NewInternalServer

func NewInternalServer(binding, certFiles string, db *db.RocksDB, chain bchain.BlockChain, mempool bchain.Mempool, txCache *db.TxCache, metrics *common.Metrics, is *common.InternalState) (*InternalServer, error)

NewInternalServer creates new internal http interface to blockbook and returns its handle

func (*InternalServer) Close

func (s *InternalServer) Close() error

Close closes the server

func (*InternalServer) Run

func (s *InternalServer) Run() error

Run starts the server

func (*InternalServer) Shutdown

func (s *InternalServer) Shutdown(ctx context.Context) error

Shutdown shuts down the server

type PublicServer

type PublicServer struct {
	// contains filtered or unexported fields
}

PublicServer is a handle to public http server

func NewPublicServer

func NewPublicServer(binding string, certFiles string, db *db.RocksDB, chain bchain.BlockChain, mempool bchain.Mempool, txCache *db.TxCache, explorerURL string, metrics *common.Metrics, is *common.InternalState, debugMode bool, enableSubNewTx bool) (*PublicServer, error)

NewPublicServer creates new public server http interface to blockbook and returns its handle only basic functionality is mapped, to map all functions, call

func (*PublicServer) Close

func (s *PublicServer) Close() error

Close closes the server

func (*PublicServer) ConnectFullPublicInterface added in v0.1.0

func (s *PublicServer) ConnectFullPublicInterface()

ConnectFullPublicInterface enables complete public functionality

func (*PublicServer) OnNewBlock

func (s *PublicServer) OnNewBlock(hash string, height uint32)

OnNewBlock notifies users subscribed to bitcoind/hashblock about new block

func (*PublicServer) OnNewFiatRatesTicker added in v0.3.2

func (s *PublicServer) OnNewFiatRatesTicker(ticker *common.CurrencyRatesTicker)

OnNewFiatRatesTicker notifies users subscribed to bitcoind/fiatrates about new ticker

func (*PublicServer) OnNewTx added in v0.3.4

func (s *PublicServer) OnNewTx(tx *bchain.MempoolTx)

OnNewTx notifies users subscribed to notification about new tx

func (*PublicServer) OnNewTxAddr

func (s *PublicServer) OnNewTxAddr(tx *bchain.Tx, desc bchain.AddressDescriptor)

OnNewTxAddr notifies users subscribed to notification about new tx

func (*PublicServer) Run

func (s *PublicServer) Run() error

Run starts the server

func (*PublicServer) Shutdown

func (s *PublicServer) Shutdown(ctx context.Context) error

Shutdown shuts down the server

type SocketIoServer

type SocketIoServer struct {
	// contains filtered or unexported fields
}

SocketIoServer is handle to SocketIoServer

func NewSocketIoServer

func NewSocketIoServer(db *db.RocksDB, chain bchain.BlockChain, mempool bchain.Mempool, txCache *db.TxCache, metrics *common.Metrics, is *common.InternalState) (*SocketIoServer, error)

NewSocketIoServer creates new SocketIo interface to blockbook and returns its handle

func (*SocketIoServer) GetHandler

func (s *SocketIoServer) GetHandler() http.Handler

GetHandler returns socket.io http handler

func (*SocketIoServer) OnNewBlockHash

func (s *SocketIoServer) OnNewBlockHash(hash string)

OnNewBlockHash notifies users subscribed to bitcoind/hashblock about new block

func (*SocketIoServer) OnNewTxAddr

func (s *SocketIoServer) OnNewTxAddr(txid string, desc bchain.AddressDescriptor)

OnNewTxAddr notifies users subscribed to bitcoind/addresstxid about new block

type TemplateData

type TemplateData struct {
	CoinName                 string
	CoinShortcut             string
	CoinLabel                string
	InternalExplorer         bool
	ChainType                bchain.ChainType
	Address                  *api.Address
	AddrStr                  string
	Tx                       *api.Tx
	Error                    *api.APIError
	Blocks                   *api.Blocks
	Block                    *api.Block
	Info                     *api.SystemInfo
	MempoolTxids             *api.MempoolTxids
	Page                     int
	PrevPage                 int
	NextPage                 int
	PagingRange              []int
	PageParams               template.URL
	Minified                 string
	TOSLink                  string
	SendTxHex                string
	Status                   string
	NonZeroBalanceTokens     bool
	TokenId                  string
	URI                      string
	ContractInfo             *bchain.ContractInfo
	SecondaryCoin            string
	UseSecondaryCoin         bool
	CurrentSecondaryCoinRate float64
	CurrentTicker            *common.CurrencyRatesTicker
	SecondaryCurrencies      []string
	TxDate                   string
	TxSecondaryCoinRate      float64
	TxTicker                 *common.CurrencyRatesTicker
}

TemplateData is used to transfer data to the templates

type WebsocketServer added in v0.2.0

type WebsocketServer struct {
	// contains filtered or unexported fields
}

WebsocketServer is a handle to websocket server

func NewWebsocketServer added in v0.2.0

func NewWebsocketServer(db *db.RocksDB, chain bchain.BlockChain, mempool bchain.Mempool, txCache *db.TxCache, metrics *common.Metrics, is *common.InternalState, enableSubNewTx bool) (*WebsocketServer, error)

NewWebsocketServer creates new websocket interface to blockbook and returns its handle

func (*WebsocketServer) GetHandler added in v0.2.0

func (s *WebsocketServer) GetHandler() http.Handler

GetHandler returns http handler

func (*WebsocketServer) OnNewBlock added in v0.2.0

func (s *WebsocketServer) OnNewBlock(hash string, height uint32)

OnNewBlock is a callback that broadcasts info about new block to subscribed clients

func (*WebsocketServer) OnNewFiatRatesTicker added in v0.3.2

func (s *WebsocketServer) OnNewFiatRatesTicker(ticker *common.CurrencyRatesTicker)

OnNewFiatRatesTicker is a callback that broadcasts info about fiat rates affecting subscribed currency

func (*WebsocketServer) OnNewTx added in v0.3.4

func (s *WebsocketServer) OnNewTx(tx *bchain.MempoolTx)

OnNewTx is a callback that broadcasts info about a tx affecting subscribed address

func (*WebsocketServer) ServeHTTP added in v0.2.0

func (s *WebsocketServer) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP sets up handler of websocket channel

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL