Documentation ¶
Index ¶
- Constants
- Variables
- func BytesToCmd(bytes []byte) string
- func CmdToBytes(cmd string) []byte
- func ExtractCmd(request []byte) []byte
- func FilterOracleDataMap(contract_map map[string][]transaction.OracleData) (map[string][]transaction.OracleData, map[string]float64)
- func GobEncode(data interface{}) []byte
- func PercentageChange(old, new float64) float64
- func ProtocolInit(c *config.Config, s *Server)
- func RequestBlocks(net *Network) error
- func SetupDiscovery(ctx context.Context, host host.Host)
- func ShortID(p peer.ID) string
- func StartNode(listenPort string, fullNode bool, callback func(*Network))
- type ArrayTX
- type Channel
- type ChannelContent
- type GOB_BATCH_TX
- type GOB_ORACLE_DATA
- type GOB_TX
- type GetData
- type GetTxes
- type MemPool
- type NeedTX
- type Network
- func (net *Network) BroadCastOracleData(oracle_data transaction.OracleData)
- func (net *Network) BroadCastTX(tx transaction.Transaction)
- func (net *Network) CreateContract()
- func (net *Network) CreateTrustedData(block_height int64)
- func (net *Network) GetContractMap() map[string]string
- func (net *Network) HandleBatchTx(content *ChannelContent)
- func (net *Network) HandleData(content *ChannelContent)
- func (net *Network) HandleGetTxes(content *ChannelContent)
- func (net *Network) HandleStream(content *ChannelContent)
- func (net *Network) HandleSyncCall(content *ChannelContent)
- func (net *Network) HandleTx(content *ChannelContent)
- func (net *Network) NewConsensusTXFromCore(req transaction.NewBlock)
- func (net *Network) NewDataTxFromCore(request []string, height int64, pubkey string)
- func (net *Network) SendData(data []byte)
- func (net *Network) SendGetTxes(fill bool, contracts map[string]string)
- func (net *Network) SendVersion()
- type Server
- type SyncCall
Constants ¶
View Source
const ChannelBufSize = 128
Variables ¶
View Source
var ( GeneralChannel = "general-channel" MiningChannel = "contract-channel" FullNodesChannel = "fullnodes-channel" )
Functions ¶
func BytesToCmd ¶
func CmdToBytes ¶
func ExtractCmd ¶
func FilterOracleDataMap ¶
func FilterOracleDataMap(contract_map map[string][]transaction.OracleData) (map[string][]transaction.OracleData, map[string]float64)
func PercentageChange ¶
func ProtocolInit ¶
ProtocolInit = init all of the protocol
func RequestBlocks ¶
Types ¶
type ArrayTX ¶
type ArrayTX struct {
Txes []transaction.Transaction `json:txes`
}
type Channel ¶
type Channel struct { Content chan *ChannelContent // contains filtered or unexported fields }
func JoinChannel ¶
type ChannelContent ¶
type GOB_BATCH_TX ¶
type GOB_ORACLE_DATA ¶
type GOB_ORACLE_DATA struct {
Oracle_Data transaction.OracleData
}
type MemPool ¶
type MemPool struct {
// contains filtered or unexported fields
}
func NewMemPool ¶
func NewMemPool() *MemPool
func (*MemPool) PrintMemPool ¶
func (m *MemPool) PrintMemPool()
func (*MemPool) PruneHeight ¶
func (*MemPool) SortOracleDataMap ¶
func (m *MemPool) SortOracleDataMap(block_height int64) map[string][]transaction.OracleData
sorts oracle map
type Network ¶
type Network struct { Host host.Host GeneralChannel *Channel MiningChannel *Channel FullNodesChannel *Channel Transactions chan *transaction.Transaction Database *database.Database Mempool *MemPool }
func (*Network) BroadCastOracleData ¶
func (net *Network) BroadCastOracleData(oracle_data transaction.OracleData)
BroadCastOracleData : broadcast oracle data
func (*Network) BroadCastTX ¶
func (net *Network) BroadCastTX(tx transaction.Transaction)
BroadCastTX : broadcast tx
func (*Network) CreateContract ¶
func (net *Network) CreateContract()
CreateContract make new contract uploaded fron config.json
func (*Network) CreateTrustedData ¶
CreateTrustedData creates trusted data source from all known tx
func (*Network) GetContractMap ¶
GetContractMap creates contract map and their last known tx
func (*Network) HandleBatchTx ¶
func (net *Network) HandleBatchTx(content *ChannelContent)
func (*Network) HandleData ¶
func (net *Network) HandleData(content *ChannelContent)
func (*Network) HandleGetTxes ¶
func (net *Network) HandleGetTxes(content *ChannelContent)
This function handles request for transactions. It takes a top consensus tx hash. 100 txes per batch
func (*Network) HandleStream ¶
func (net *Network) HandleStream(content *ChannelContent)
func (*Network) HandleSyncCall ¶
func (net *Network) HandleSyncCall(content *ChannelContent)
func (*Network) HandleTx ¶
func (net *Network) HandleTx(content *ChannelContent)
func (*Network) NewConsensusTXFromCore ¶
func (net *Network) NewConsensusTXFromCore(req transaction.NewBlock)
NewConsensusTXFromCore = create v1 tx
func (*Network) NewDataTxFromCore ¶
NewDataTxFromCore = Go through all contracts and send data out
func (*Network) SendGetTxes ¶
SendGetTxes : Get tansactions not known
Click to show internal directories.
Click to hide internal directories.