Documentation
¶
Index ¶
- Constants
- func TimeoutHandler(h http.Handler, dt time.Duration, msg string) http.Handler
- type BackupChainArgs
- type BackupChainCorrectionArgs
- type BackupChainCorrectionResult
- type BackupChainResult
- type BackupSnapshotArgs
- type BackupSnapshotResult
- type BlockHashGcpPair
- type BlockHashVcpPair
- type BroadcastRawTransactionArgs
- type BroadcastRawTransactionAsyncArgs
- type BroadcastRawTransactionAsyncResult
- type BroadcastRawTransactionResult
- type CallSmartContractArgs
- type CallSmartContractResult
- type Callback
- type Client
- type DneroRPCServer
- type DneroRPCService
- func (t *DneroRPCService) BackupChain(args *BackupChainArgs, result *BackupChainResult) error
- func (t *DneroRPCService) BackupChainCorrection(args *BackupChainCorrectionArgs, result *BackupChainCorrectionResult) error
- func (t *DneroRPCService) BackupSnapshot(args *BackupSnapshotArgs, result *BackupSnapshotResult) error
- func (t *DneroRPCService) BroadcastRawTransaction(args *BroadcastRawTransactionArgs, result *BroadcastRawTransactionResult) (err error)
- func (t *DneroRPCService) BroadcastRawTransactionAsync(args *BroadcastRawTransactionAsyncArgs, ...) (err error)
- func (t *DneroRPCService) CallSmartContract(args *CallSmartContractArgs, result *CallSmartContractResult) (err error)
- func (t *DneroRPCService) GetAccount(args *GetAccountArgs, result *GetAccountResult) (err error)
- func (t *DneroRPCService) GetBlock(args *GetBlockArgs, result *GetBlockResult) (err error)
- func (t *DneroRPCService) GetBlockByHeight(args *GetBlockByHeightArgs, result *GetBlockResult) (err error)
- func (t *DneroRPCService) GetBlocksByRange(args *GetBlocksByRangeArgs, result *GetBlocksResult) (err error)
- func (t *DneroRPCService) GetGcpByHeight(args *GetGcpByHeightArgs, result *GetGcpResult) (err error)
- func (t *DneroRPCService) GetPeers(args *GetPeersArgs, result *GetPeersResult) (err error)
- func (t *DneroRPCService) GetPendingTransactions(args *GetPendingTransactionsArgs, result *GetPendingTransactionsResult) (err error)
- func (t *DneroRPCService) GetSentryInfo(args *GetSentryInfoArgs, result *GetSentryInfoResult) (err error)
- func (t *DneroRPCService) GetSplitRule(args *GetSplitRuleArgs, result *GetSplitRuleResult) (err error)
- func (t *DneroRPCService) GetStatus(args *GetStatusArgs, result *GetStatusResult) (err error)
- func (t *DneroRPCService) GetTransaction(args *GetTransactionArgs, result *GetTransactionResult) (err error)
- func (t *DneroRPCService) GetVcpByHeight(args *GetVcpByHeightArgs, result *GetVcpResult) (err error)
- func (t *DneroRPCService) GetVersion(args *GetVersionArgs, result *GetVersionResult) (err error)
- type GetAccountArgs
- type GetAccountResult
- type GetBlockArgs
- type GetBlockByHeightArgs
- type GetBlockResult
- type GetBlockResultInner
- type GetBlocksByRangeArgs
- type GetBlocksResult
- type GetGcpByHeightArgs
- type GetGcpResult
- type GetPeersArgs
- type GetPeersResult
- type GetPendingTransactionsArgs
- type GetPendingTransactionsResult
- type GetSentryInfoArgs
- type GetSentryInfoResult
- type GetSplitRuleArgs
- type GetSplitRuleResult
- type GetStatusArgs
- type GetStatusResult
- type GetTransactionArgs
- type GetTransactionResult
- type GetVcpByHeightArgs
- type GetVcpResult
- type GetVersionArgs
- type GetVersionResult
- type HTTPClient
- type RPCResponse
- type Tx
- type TxCallbackManager
- type TxStatus
- type TxType
- type WSClient
Constants ¶
const ( TxStatusNotFound = "not_found" TxStatusPending = "pending" TxStatusFinalized = "finalized" TxStatusAbandoned = "abandoned" )
const ( TxTypeCoinbase = byte(iota) TxTypeSlash TxTypeSend TxTypeReserveFund TxTypeReleaseFund TxTypeServicePayment TxTypeSplitRule TxTypeSmartContract TxTypeDepositStake TxTypeWithdrawStake TxTypeDepositStakeTxV1 )
Variables ¶
This section is empty.
Functions ¶
func TimeoutHandler ¶
TimeoutHandler returns a Handler that runs h with the given time limit.
The new Handler calls h.ServeHTTP to handle each request, but if a call runs for longer than its time limit, the handler responds with a 503 Service Unavailable error and the given message in its body. (If msg is empty, a suitable default message will be sent.) After such a timeout, writes by h to its ResponseWriter will return ErrHandlerTimeout.
TimeoutHandler supports the Pusher interface but does not support the Hijacker or Flusher interfaces.
Types ¶
type BackupChainArgs ¶
type BackupChainResult ¶
type BackupSnapshotArgs ¶
type BackupSnapshotResult ¶
type BackupSnapshotResult struct {
SnapshotFile string `json:"snapshot_file"`
}
type BlockHashGcpPair ¶
type BlockHashGcpPair struct { BlockHash common.Hash Gcp *core.SentryCandidatePool }
type BlockHashVcpPair ¶
type BlockHashVcpPair struct { BlockHash common.Hash Vcp *core.ValidatorCandidatePool HeightList *types.HeightList }
type BroadcastRawTransactionArgs ¶
type BroadcastRawTransactionArgs struct {
TxBytes string `json:"tx_bytes"`
}
type BroadcastRawTransactionAsyncArgs ¶
type BroadcastRawTransactionAsyncArgs struct {
TxBytes string `json:"tx_bytes"`
}
type BroadcastRawTransactionAsyncResult ¶
type BroadcastRawTransactionAsyncResult struct {
TxHash string `json:"hash"`
}
type BroadcastRawTransactionResult ¶
type BroadcastRawTransactionResult struct { TxHash string `json:"hash"` Block *core.BlockHeader `json:"block",rlp:"nil"` }
type CallSmartContractArgs ¶
type CallSmartContractArgs struct {
SctxBytes string `json:"sctx_bytes"`
}
type CallSmartContractResult ¶
type DneroRPCServer ¶
type DneroRPCServer struct { *DneroRPCService // contains filtered or unexported fields }
DneroRPCServer is an instance of RPC service.
func NewDneroRPCServer ¶
func NewDneroRPCServer(mempool *mempool.Mempool, ledger *ledger.Ledger, dispatcher *dispatcher.Dispatcher, chain *blockchain.Chain, consensus *consensus.ConsensusEngine) *DneroRPCServer
NewDneroRPCServer creates a new instance of DneroRPCServer.
func (*DneroRPCServer) Start ¶
func (t *DneroRPCServer) Start(ctx context.Context)
Start creates the main goroutine.
func (*DneroRPCServer) Stop ¶
func (t *DneroRPCServer) Stop()
Stop notifies all goroutines to stop without blocking.
func (*DneroRPCServer) Wait ¶
func (t *DneroRPCServer) Wait()
Wait blocks until all goroutines stop.
type DneroRPCService ¶
type DneroRPCService struct {
// contains filtered or unexported fields
}
func (*DneroRPCService) BackupChain ¶
func (t *DneroRPCService) BackupChain(args *BackupChainArgs, result *BackupChainResult) error
func (*DneroRPCService) BackupChainCorrection ¶
func (t *DneroRPCService) BackupChainCorrection(args *BackupChainCorrectionArgs, result *BackupChainCorrectionResult) error
func (*DneroRPCService) BackupSnapshot ¶
func (t *DneroRPCService) BackupSnapshot(args *BackupSnapshotArgs, result *BackupSnapshotResult) error
func (*DneroRPCService) BroadcastRawTransaction ¶
func (t *DneroRPCService) BroadcastRawTransaction( args *BroadcastRawTransactionArgs, result *BroadcastRawTransactionResult) (err error)
func (*DneroRPCService) BroadcastRawTransactionAsync ¶
func (t *DneroRPCService) BroadcastRawTransactionAsync( args *BroadcastRawTransactionAsyncArgs, result *BroadcastRawTransactionAsyncResult) (err error)
func (*DneroRPCService) CallSmartContract ¶
func (t *DneroRPCService) CallSmartContract(args *CallSmartContractArgs, result *CallSmartContractResult) (err error)
CallSmartContract calls the smart contract. However, calling a smart contract does NOT modify the globally consensus state. It can be used for dry run, or for retrieving info from smart contracts without actually spending gas.
func (*DneroRPCService) GetAccount ¶
func (t *DneroRPCService) GetAccount(args *GetAccountArgs, result *GetAccountResult) (err error)
func (*DneroRPCService) GetBlock ¶
func (t *DneroRPCService) GetBlock(args *GetBlockArgs, result *GetBlockResult) (err error)
func (*DneroRPCService) GetBlockByHeight ¶
func (t *DneroRPCService) GetBlockByHeight(args *GetBlockByHeightArgs, result *GetBlockResult) (err error)
func (*DneroRPCService) GetBlocksByRange ¶
func (t *DneroRPCService) GetBlocksByRange(args *GetBlocksByRangeArgs, result *GetBlocksResult) (err error)
func (*DneroRPCService) GetGcpByHeight ¶
func (t *DneroRPCService) GetGcpByHeight(args *GetGcpByHeightArgs, result *GetGcpResult) (err error)
func (*DneroRPCService) GetPeers ¶
func (t *DneroRPCService) GetPeers(args *GetPeersArgs, result *GetPeersResult) (err error)
func (*DneroRPCService) GetPendingTransactions ¶
func (t *DneroRPCService) GetPendingTransactions(args *GetPendingTransactionsArgs, result *GetPendingTransactionsResult) (err error)
func (*DneroRPCService) GetSentryInfo ¶ added in v1.0.0
func (t *DneroRPCService) GetSentryInfo(args *GetSentryInfoArgs, result *GetSentryInfoResult) (err error)
func (*DneroRPCService) GetSplitRule ¶
func (t *DneroRPCService) GetSplitRule(args *GetSplitRuleArgs, result *GetSplitRuleResult) (err error)
func (*DneroRPCService) GetStatus ¶
func (t *DneroRPCService) GetStatus(args *GetStatusArgs, result *GetStatusResult) (err error)
func (*DneroRPCService) GetTransaction ¶
func (t *DneroRPCService) GetTransaction(args *GetTransactionArgs, result *GetTransactionResult) (err error)
func (*DneroRPCService) GetVcpByHeight ¶
func (t *DneroRPCService) GetVcpByHeight(args *GetVcpByHeightArgs, result *GetVcpResult) (err error)
func (*DneroRPCService) GetVersion ¶
func (t *DneroRPCService) GetVersion(args *GetVersionArgs, result *GetVersionResult) (err error)
type GetAccountArgs ¶
type GetAccountResult ¶
type GetBlockArgs ¶
type GetBlockByHeightArgs ¶
type GetBlockByHeightArgs struct {
Height common.JSONUint64 `json:"height"`
}
type GetBlockResult ¶
type GetBlockResult struct {
*GetBlockResultInner
}
type GetBlockResultInner ¶
type GetBlockResultInner struct { ChainID string `json:"chain_id"` Epoch common.JSONUint64 `json:"epoch"` Height common.JSONUint64 `json:"height"` Parent common.Hash `json:"parent"` TxHash common.Hash `json:"transactions_hash"` StateHash common.Hash `json:"state_hash"` Timestamp *common.JSONBig `json:"timestamp"` Proposer common.Address `json:"proposer"` HCC core.CommitCertificate `json:"hcc"` SentryVotes *core.AggregatedVotes `json:"sentry_votes"` Children []common.Hash `json:"children"` Status core.BlockStatus `json:"status"` Hash common.Hash `json:"hash"` Txs []Tx `json:"transactions"` }
type GetBlocksByRangeArgs ¶
type GetBlocksByRangeArgs struct { Start common.JSONUint64 `json:"start"` End common.JSONUint64 `json:"end"` }
type GetBlocksResult ¶
type GetBlocksResult []*GetBlockResultInner
type GetGcpByHeightArgs ¶
type GetGcpByHeightArgs struct {
Height common.JSONUint64 `json:"height"`
}
type GetGcpResult ¶
type GetGcpResult struct {
BlockHashGcpPairs []BlockHashGcpPair
}
type GetPeersArgs ¶
type GetPeersArgs struct{}
type GetPeersResult ¶
type GetPeersResult struct {
Peers []string `json:"peers"`
}
type GetPendingTransactionsArgs ¶
type GetPendingTransactionsArgs struct { }
type GetPendingTransactionsResult ¶
type GetPendingTransactionsResult struct {
TxHashes []string `json:"tx_hashes"`
}
type GetSentryInfoArgs ¶ added in v1.0.0
type GetSentryInfoArgs struct{}
type GetSentryInfoResult ¶ added in v1.0.0
type GetSplitRuleArgs ¶
type GetSplitRuleArgs struct {
ResourceID string `json:"resource_id"`
}
type GetSplitRuleResult ¶
type GetStatusArgs ¶
type GetStatusArgs struct{}
type GetStatusResult ¶
type GetStatusResult struct { Address string `json:"address"` ChainID string `json:"chain_id"` PeerID string `json:"peer_id"` LatestFinalizedBlockHash common.Hash `json:"latest_finalized_block_hash"` LatestFinalizedBlockHeight common.JSONUint64 `json:"latest_finalized_block_height"` LatestFinalizedBlockTime *common.JSONBig `json:"latest_finalized_block_time"` LatestFinalizedBlockEpoch common.JSONUint64 `json:"latest_finalized_block_epoch"` CurrentEpoch common.JSONUint64 `json:"current_epoch"` CurrentHeight common.JSONUint64 `json:"current_height"` CurrentTime *common.JSONBig `json:"current_time"` Syncing bool `json:"syncing"` }
type GetTransactionArgs ¶
type GetTransactionArgs struct {
Hash string `json:"hash"`
}
type GetTransactionResult ¶
type GetTransactionResult struct { BlockHash common.Hash `json:"block_hash"` BlockHeight common.JSONUint64 `json:"block_height"` Status TxStatus `json:"status"` TxHash common.Hash `json:"hash"` Type byte `json:"type"` Tx types.Tx `json:"transaction"` Receipt *blockchain.TxReceiptEntry `json:"receipt"` }
type GetVcpByHeightArgs ¶
type GetVcpByHeightArgs struct {
Height common.JSONUint64 `json:"height"`
}
type GetVcpResult ¶
type GetVcpResult struct {
BlockHashVcpPairs []BlockHashVcpPair
}
type GetVersionArgs ¶
type GetVersionArgs struct { }
type GetVersionResult ¶
type HTTPClient ¶
func (HTTPClient) Call ¶
func (c HTTPClient) Call(name string, args []interface{}, result interface{}) error
type RPCResponse ¶
type RPCResponse struct {
// contains filtered or unexported fields
}
func (*RPCResponse) GetObject ¶
func (r *RPCResponse) GetObject(toType interface{}) error
type Tx ¶
type Tx struct { types.Tx `json:"raw"` Type byte `json:"type"` Hash common.Hash `json:"hash"` Receipt *blockchain.TxReceiptEntry `json:"receipt"` }
type TxCallbackManager ¶
type TxCallbackManager struct {
// contains filtered or unexported fields
}
func NewTxCallbackManager ¶
func NewTxCallbackManager() *TxCallbackManager
func (*TxCallbackManager) AddCallback ¶
func (m *TxCallbackManager) AddCallback(txHash common.Hash, cb func(*core.Block))
func (*TxCallbackManager) RemoveCallback ¶
func (m *TxCallbackManager) RemoveCallback(txHash common.Hash) (cb *Callback, exists bool)
func (*TxCallbackManager) Trim ¶
func (m *TxCallbackManager) Trim()