core

package
v0.7.4 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2016 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const Version = "3" // rpc routes for profiling, setting config

Variables

View Source
var Routes = map[string]*rpc.RPCFunc{

	"subscribe":   rpc.NewWSRPCFunc(SubscribeResult, "event"),
	"unsubscribe": rpc.NewWSRPCFunc(UnsubscribeResult, "event"),

	"status":               rpc.NewRPCFunc(StatusResult, ""),
	"net_info":             rpc.NewRPCFunc(NetInfoResult, ""),
	"blockchain":           rpc.NewRPCFunc(BlockchainInfoResult, "minHeight,maxHeight"),
	"genesis":              rpc.NewRPCFunc(GenesisResult, ""),
	"block":                rpc.NewRPCFunc(BlockResult, "height"),
	"validators":           rpc.NewRPCFunc(ValidatorsResult, ""),
	"dump_consensus_state": rpc.NewRPCFunc(DumpConsensusStateResult, ""),
	"unconfirmed_txs":      rpc.NewRPCFunc(UnconfirmedTxsResult, ""),
	"num_unconfirmed_txs":  rpc.NewRPCFunc(NumUnconfirmedTxsResult, ""),

	"broadcast_tx_commit": rpc.NewRPCFunc(BroadcastTxCommitResult, "tx"),
	"broadcast_tx_sync":   rpc.NewRPCFunc(BroadcastTxSyncResult, "tx"),
	"broadcast_tx_async":  rpc.NewRPCFunc(BroadcastTxAsyncResult, "tx"),

	"tmsp_query": rpc.NewRPCFunc(TMSPQueryResult, "query"),
	"tmsp_info":  rpc.NewRPCFunc(TMSPInfoResult, ""),

	"dial_seeds":           rpc.NewRPCFunc(UnsafeDialSeedsResult, "seeds"),
	"unsafe_flush_mempool": rpc.NewRPCFunc(UnsafeFlushMempool, ""),
	"unsafe_set_config":    rpc.NewRPCFunc(UnsafeSetConfigResult, "type,key,value"),

	"unsafe_start_cpu_profiler": rpc.NewRPCFunc(UnsafeStartCPUProfilerResult, "filename"),
	"unsafe_stop_cpu_profiler":  rpc.NewRPCFunc(UnsafeStopCPUProfilerResult, ""),
	"unsafe_write_heap_profile": rpc.NewRPCFunc(UnsafeWriteHeapProfileResult, "filename"),
}

TODO: better system than "unsafe" prefix

Functions

func Block

func Block(height int) (*ctypes.ResultBlock, error)

func BlockResult

func BlockResult(height int) (ctypes.TMResult, error)

func BlockchainInfo

func BlockchainInfo(minHeight, maxHeight int) (*ctypes.ResultBlockchainInfo, error)

TODO: limit/permission on (max - min)

func BlockchainInfoResult

func BlockchainInfoResult(min, max int) (ctypes.TMResult, error)

func BroadcastTxAsync

func BroadcastTxAsync(tx types.Tx) (*ctypes.ResultBroadcastTx, error)

Returns right away, with no response

func BroadcastTxAsyncResult

func BroadcastTxAsyncResult(tx []byte) (ctypes.TMResult, error)

func BroadcastTxCommit

func BroadcastTxCommit(tx types.Tx) (*ctypes.ResultBroadcastTx, error)

CONTRACT: returns error==nil iff the tx is included in a block.

If CheckTx fails, return with the response from CheckTx AND an error. Else, block until the tx is included in a block,

and return the result of AppendTx (with no error).

Even if AppendTx fails, so long as the tx is included in a block this function

will not return an error - it is the caller's responsibility to check res.Code.

The function times out after five minutes and returns the result of CheckTx and an error. TODO: smarter timeout logic or someway to cancel (tx not getting committed is a sign of a larger problem!)

func BroadcastTxCommitResult

func BroadcastTxCommitResult(tx []byte) (ctypes.TMResult, error)

func BroadcastTxSync

func BroadcastTxSync(tx types.Tx) (*ctypes.ResultBroadcastTx, error)

Returns with the response from CheckTx

func BroadcastTxSyncResult

func BroadcastTxSyncResult(tx []byte) (ctypes.TMResult, error)

func DumpConsensusState

func DumpConsensusState() (*ctypes.ResultDumpConsensusState, error)

func DumpConsensusStateResult

func DumpConsensusStateResult() (ctypes.TMResult, error)

func Genesis

func Genesis() (*ctypes.ResultGenesis, error)

func GenesisResult

func GenesisResult() (ctypes.TMResult, error)

func NetInfo

func NetInfo() (*ctypes.ResultNetInfo, error)

func NetInfoResult

func NetInfoResult() (ctypes.TMResult, error)

func NumUnconfirmedTxs

func NumUnconfirmedTxs() (*ctypes.ResultUnconfirmedTxs, error)

func NumUnconfirmedTxsResult

func NumUnconfirmedTxsResult() (ctypes.TMResult, error)

func SetBlockStore

func SetBlockStore(bs BlockStore)

func SetConfig

func SetConfig(c cfg.Config)

func SetConsensusState

func SetConsensusState(cs Consensus)

func SetEventSwitch

func SetEventSwitch(evsw types.EventSwitch)

func SetGenesisDoc

func SetGenesisDoc(doc *types.GenesisDoc)

func SetMempool added in v0.7.3

func SetMempool(mem Mempool)

func SetProxyAppQuery added in v0.7.1

func SetProxyAppQuery(appConn proxy.AppConnQuery)

func SetPubKey added in v0.7.3

func SetPubKey(pk crypto.PubKey)

func SetSwitch

func SetSwitch(sw P2P)

func Status

func Status() (*ctypes.ResultStatus, error)

func StatusResult

func StatusResult() (ctypes.TMResult, error)

func Subscribe

func Subscribe(wsCtx rpctypes.WSRPCContext, event string) (*ctypes.ResultSubscribe, error)

func SubscribeResult

func SubscribeResult(wsCtx rpctypes.WSRPCContext, event string) (ctypes.TMResult, error)

func TMSPInfo added in v0.7.1

func TMSPInfo() (*ctypes.ResultTMSPInfo, error)

func TMSPInfoResult added in v0.7.1

func TMSPInfoResult() (ctypes.TMResult, error)

func TMSPQuery added in v0.7.1

func TMSPQuery(query []byte) (*ctypes.ResultTMSPQuery, error)

func TMSPQueryResult added in v0.7.1

func TMSPQueryResult(query []byte) (ctypes.TMResult, error)

func UnconfirmedTxs

func UnconfirmedTxs() (*ctypes.ResultUnconfirmedTxs, error)

func UnconfirmedTxsResult

func UnconfirmedTxsResult() (ctypes.TMResult, error)

func UnsafeDialSeeds added in v0.7.4

func UnsafeDialSeeds(seeds []string) (*ctypes.ResultDialSeeds, error)

Dial given list of seeds

func UnsafeDialSeedsResult added in v0.7.4

func UnsafeDialSeedsResult(seeds []string) (ctypes.TMResult, error)

func UnsafeFlushMempool

func UnsafeFlushMempool() (*ctypes.ResultUnsafeFlushMempool, error)

func UnsafeFlushMempoolResult

func UnsafeFlushMempoolResult() (ctypes.TMResult, error)

func UnsafeSetConfig

func UnsafeSetConfig(typ, key, value string) (*ctypes.ResultUnsafeSetConfig, error)

func UnsafeSetConfigResult

func UnsafeSetConfigResult(typ, key, value string) (ctypes.TMResult, error)

func UnsafeStartCPUProfiler

func UnsafeStartCPUProfiler(filename string) (*ctypes.ResultUnsafeProfile, error)

func UnsafeStartCPUProfilerResult

func UnsafeStartCPUProfilerResult(filename string) (ctypes.TMResult, error)

func UnsafeStopCPUProfiler

func UnsafeStopCPUProfiler() (*ctypes.ResultUnsafeProfile, error)

func UnsafeStopCPUProfilerResult

func UnsafeStopCPUProfilerResult() (ctypes.TMResult, error)

func UnsafeWriteHeapProfile

func UnsafeWriteHeapProfile(filename string) (*ctypes.ResultUnsafeProfile, error)

func UnsafeWriteHeapProfileResult

func UnsafeWriteHeapProfileResult(filename string) (ctypes.TMResult, error)

func Unsubscribe

func Unsubscribe(wsCtx rpctypes.WSRPCContext, event string) (*ctypes.ResultUnsubscribe, error)

func UnsubscribeResult

func UnsubscribeResult(wsCtx rpctypes.WSRPCContext, event string) (ctypes.TMResult, error)

func Validators

func Validators() (*ctypes.ResultValidators, error)

func ValidatorsResult

func ValidatorsResult() (ctypes.TMResult, error)

Types

type BlockStore added in v0.7.3

type BlockStore interface {
	Height() int
	LoadBlockMeta(height int) *types.BlockMeta
	LoadBlock(height int) *types.Block
}

type Consensus added in v0.7.3

type Consensus interface {
	GetValidators() (int, []*types.Validator)
	GetRoundState() *consensus.RoundState
}

type Mempool added in v0.7.3

type Mempool interface {
	Size() int
	CheckTx(types.Tx, func(*tmsp.Response)) error
	Reap(int) []types.Tx
	Flush()
}

type P2P added in v0.7.3

type P2P interface {
	Listeners() []p2p.Listener
	Peers() p2p.IPeerSet
	NumPeers() (outbound, inbound, dialig int)
	NodeInfo() *p2p.NodeInfo
	IsListening() bool
	DialSeeds([]string)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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