Documentation
¶
Overview ¶
Package bchain is a generated protocol buffer package.
It is generated from these files:
tx.proto
It has these top-level messages:
ProtoTransaction
Index ¶
- Constants
- Variables
- func AmountToDecimalString(a *big.Int, d int) string
- type AddressDescriptor
- type BaseChain
- func (b *BaseChain) EthereumTypeEstimateGas(params map[string]interface{}) (uint64, error)
- func (b *BaseChain) EthereumTypeGetBalance(addrDesc AddressDescriptor) (*big.Int, error)
- func (b *BaseChain) EthereumTypeGetErc20ContractBalance(addrDesc, contractDesc AddressDescriptor) (*big.Int, error)
- func (b *BaseChain) EthereumTypeGetErc20ContractInfo(contractDesc AddressDescriptor) (*Erc20Contract, error)
- func (b *BaseChain) EthereumTypeGetNonce(addrDesc AddressDescriptor) (uint64, error)
- func (b *BaseChain) GetChainParser() BlockChainParser
- func (b *BaseChain) GetNetworkName() string
- func (b *BaseChain) IsTestnet() bool
- type BaseParser
- func (p *BaseParser) AmountDecimals() int
- func (p *BaseParser) AmountToBigInt(n json.Number) (big.Int, error)
- func (p *BaseParser) AmountToDecimalString(a *big.Int) string
- func (p *BaseParser) EthereumTypeGetErc20FromTx(tx *Tx) ([]Erc20Transfer, error)
- func (p *BaseParser) GetAddrDescForUnknownInput(tx *Tx, input int) AddressDescriptor
- func (p *BaseParser) GetChainType() ChainType
- func (p *BaseParser) KeepBlockAddresses() int
- func (p *BaseParser) PackBlockHash(hash string) ([]byte, error)
- func (p *BaseParser) PackTx(tx *Tx, height uint32, blockTime int64) ([]byte, error)
- func (p *BaseParser) PackTxid(txid string) ([]byte, error)
- func (p *BaseParser) PackedTxidLen() int
- func (p *BaseParser) ParseBlock(b []byte) (*Block, error)
- func (p *BaseParser) ParseTx(b []byte) (*Tx, error)
- func (p *BaseParser) ParseTxFromJson(msg json.RawMessage) (*Tx, error)
- func (p *BaseParser) UnpackBlockHash(buf []byte) (string, error)
- func (p *BaseParser) UnpackTx(buf []byte) (*Tx, uint32, error)
- func (p *BaseParser) UnpackTxid(buf []byte) (string, error)
- type Block
- type BlockChain
- type BlockChainParser
- type BlockHeader
- type BlockInfo
- type ChainInfo
- type ChainType
- type Erc20Contract
- type Erc20Transfer
- type MQ
- type MempoolBitcoinType
- type MempoolEntry
- type MempoolEthereumType
- type NotificationType
- type OnNewBlockFunc
- type OnNewTxAddrFunc
- type Outpoint
- type ProtoTransaction
- func (*ProtoTransaction) Descriptor() ([]byte, []int)
- func (m *ProtoTransaction) GetBlocktime() uint64
- func (m *ProtoTransaction) GetHeight() uint32
- func (m *ProtoTransaction) GetHex() []byte
- func (m *ProtoTransaction) GetLocktime() uint32
- func (m *ProtoTransaction) GetTxid() []byte
- func (m *ProtoTransaction) GetVersion() int32
- func (m *ProtoTransaction) GetVin() []*ProtoTransaction_VinType
- func (m *ProtoTransaction) GetVout() []*ProtoTransaction_VoutType
- func (*ProtoTransaction) ProtoMessage()
- func (m *ProtoTransaction) Reset()
- func (m *ProtoTransaction) String() string
- type ProtoTransaction_VinType
- func (*ProtoTransaction_VinType) Descriptor() ([]byte, []int)
- func (m *ProtoTransaction_VinType) GetAddresses() []string
- func (m *ProtoTransaction_VinType) GetCoinbase() string
- func (m *ProtoTransaction_VinType) GetScriptSigHex() []byte
- func (m *ProtoTransaction_VinType) GetSequence() uint32
- func (m *ProtoTransaction_VinType) GetTxid() []byte
- func (m *ProtoTransaction_VinType) GetVout() uint32
- func (*ProtoTransaction_VinType) ProtoMessage()
- func (m *ProtoTransaction_VinType) Reset()
- func (m *ProtoTransaction_VinType) String() string
- type ProtoTransaction_VoutType
- func (*ProtoTransaction_VoutType) Descriptor() ([]byte, []int)
- func (m *ProtoTransaction_VoutType) GetAddresses() []string
- func (m *ProtoTransaction_VoutType) GetN() uint32
- func (m *ProtoTransaction_VoutType) GetScriptPubKeyHex() []byte
- func (m *ProtoTransaction_VoutType) GetValueSat() []byte
- func (*ProtoTransaction_VoutType) ProtoMessage()
- func (m *ProtoTransaction_VoutType) Reset()
- func (m *ProtoTransaction_VoutType) String() string
- type RPCError
- type ScriptPubKey
- type ScriptSig
- type Tx
- type Vin
- type Vout
Constants ¶
const ( // ChainBitcoinType is blockchain derived from bitcoin ChainBitcoinType = ChainType(iota) // ChainEthereumType is blockchain derived from ethereum ChainEthereumType )
Variables ¶
var ( // ErrBlockNotFound is returned when block is not found // either unknown hash or too high height // can be returned from GetBlockHash, GetBlockHeader, GetBlock ErrBlockNotFound = errors.New("Block not found") // ErrAddressMissing is returned if address is not specified // for example To address in ethereum can be missing in case of contract transaction ErrAddressMissing = errors.New("Address missing") // ErrTxidMissing is returned if txid is not specified // for example coinbase transactions in Bitcoin ErrTxidMissing = errors.New("Txid missing") // ErrTxNotFound is returned if transaction was not found ErrTxNotFound = errors.New("Tx not found") )
errors with specific meaning returned by blockchain rpc
Functions ¶
Types ¶
type AddressDescriptor ¶ added in v0.1.0
type AddressDescriptor []byte
AddressDescriptor is an opaque type obtained by parser.GetAddrDesc* methods
func (AddressDescriptor) String ¶ added in v0.1.0
func (ad AddressDescriptor) String() string
type BaseChain ¶ added in v0.2.0
type BaseChain struct {
Parser BlockChainParser
Testnet bool
Network string
}
BaseChain is base type for bchain.BlockChain
func (*BaseChain) EthereumTypeEstimateGas ¶ added in v0.2.0
EthereumTypeEstimateGas is not supported
func (*BaseChain) EthereumTypeGetBalance ¶ added in v0.2.0
func (b *BaseChain) EthereumTypeGetBalance(addrDesc AddressDescriptor) (*big.Int, error)
EthereumTypeGetBalance is not supported
func (*BaseChain) EthereumTypeGetErc20ContractBalance ¶ added in v0.2.0
func (b *BaseChain) EthereumTypeGetErc20ContractBalance(addrDesc, contractDesc AddressDescriptor) (*big.Int, error)
EthereumTypeGetErc20ContractBalance is not supported
func (*BaseChain) EthereumTypeGetErc20ContractInfo ¶ added in v0.2.0
func (b *BaseChain) EthereumTypeGetErc20ContractInfo(contractDesc AddressDescriptor) (*Erc20Contract, error)
EthereumTypeGetErc20ContractInfo is not supported
func (*BaseChain) EthereumTypeGetNonce ¶ added in v0.2.0
func (b *BaseChain) EthereumTypeGetNonce(addrDesc AddressDescriptor) (uint64, error)
EthereumTypeGetNonce is not supported
func (*BaseChain) GetChainParser ¶ added in v0.2.0
func (b *BaseChain) GetChainParser() BlockChainParser
GetChainParser returns BlockChainParser
func (*BaseChain) GetNetworkName ¶ added in v0.2.0
GetNetworkName returns network name
type BaseParser ¶
BaseParser implements data parsing/handling functionality base for all other parsers
func (*BaseParser) AmountDecimals ¶ added in v0.2.0
func (p *BaseParser) AmountDecimals() int
AmountDecimals returns number of decimal places in amounts
func (*BaseParser) AmountToBigInt ¶ added in v0.1.0
AmountToBigInt converts amount in json.Number (string) to big.Int it uses string operations to avoid problems with rounding
func (*BaseParser) AmountToDecimalString ¶ added in v0.1.0
func (p *BaseParser) AmountToDecimalString(a *big.Int) string
AmountToDecimalString converts amount in big.Int to string with decimal point in the correct place
func (*BaseParser) EthereumTypeGetErc20FromTx ¶ added in v0.2.0
func (p *BaseParser) EthereumTypeGetErc20FromTx(tx *Tx) ([]Erc20Transfer, error)
EthereumTypeGetErc20FromTx is unsupported
func (*BaseParser) GetAddrDescForUnknownInput ¶ added in v0.2.0
func (p *BaseParser) GetAddrDescForUnknownInput(tx *Tx, input int) AddressDescriptor
GetAddrDescForUnknownInput returns nil AddressDescriptor
func (*BaseParser) GetChainType ¶ added in v0.2.0
func (p *BaseParser) GetChainType() ChainType
GetChainType is type of the blockchain, default is ChainBitcoinType
func (*BaseParser) KeepBlockAddresses ¶
func (p *BaseParser) KeepBlockAddresses() int
KeepBlockAddresses returns number of blocks which are to be kept in blockaddresses column
func (*BaseParser) PackBlockHash ¶
func (p *BaseParser) PackBlockHash(hash string) ([]byte, error)
PackBlockHash packs block hash to byte array
func (*BaseParser) PackTxid ¶
func (p *BaseParser) PackTxid(txid string) ([]byte, error)
PackTxid packs txid to byte array
func (*BaseParser) PackedTxidLen ¶
func (p *BaseParser) PackedTxidLen() int
PackedTxidLen returns length in bytes of packed txid
func (*BaseParser) ParseBlock ¶
func (p *BaseParser) ParseBlock(b []byte) (*Block, error)
ParseBlock parses raw block to our Block struct - currently not implemented
func (*BaseParser) ParseTx ¶
func (p *BaseParser) ParseTx(b []byte) (*Tx, error)
ParseTx parses byte array containing transaction and returns Tx struct - currently not implemented
func (*BaseParser) ParseTxFromJson ¶
func (p *BaseParser) ParseTxFromJson(msg json.RawMessage) (*Tx, error)
ParseTxFromJson parses JSON message containing transaction and returns Tx struct
func (*BaseParser) UnpackBlockHash ¶
func (p *BaseParser) UnpackBlockHash(buf []byte) (string, error)
UnpackBlockHash unpacks byte array to block hash
func (*BaseParser) UnpackTx ¶
func (p *BaseParser) UnpackTx(buf []byte) (*Tx, uint32, error)
UnpackTx unpacks transaction from protobuf byte array
func (*BaseParser) UnpackTxid ¶
func (p *BaseParser) UnpackTxid(buf []byte) (string, error)
UnpackTxid unpacks byte array to txid
type Block ¶
type Block struct {
BlockHeader
Txs []Tx `json:"tx"`
}
Block is block header and list of transactions
type BlockChain ¶
type BlockChain interface {
// life-cycle methods
Initialize() error
Shutdown(ctx context.Context) error
// chain info
IsTestnet() bool
GetNetworkName() string
GetSubversion() string
GetCoinName() string
GetChainInfo() (*ChainInfo, error)
// requests
GetBestBlockHash() (string, error)
GetBestBlockHeight() (uint32, error)
GetBlockHash(height uint32) (string, error)
GetBlockHeader(hash string) (*BlockHeader, error)
GetBlock(hash string, height uint32) (*Block, error)
GetBlockInfo(hash string) (*BlockInfo, error)
GetMempool() ([]string, error)
GetTransaction(txid string) (*Tx, error)
GetTransactionForMempool(txid string) (*Tx, error)
GetTransactionSpecific(tx *Tx) (json.RawMessage, error)
EstimateSmartFee(blocks int, conservative bool) (big.Int, error)
EstimateFee(blocks int) (big.Int, error)
SendRawTransaction(tx string) (string, error)
// mempool
ResyncMempool(onNewTxAddr OnNewTxAddrFunc) (int, error)
GetMempoolTransactions(address string) ([]Outpoint, error)
GetMempoolTransactionsForAddrDesc(addrDesc AddressDescriptor) ([]Outpoint, error)
GetMempoolEntry(txid string) (*MempoolEntry, error)
// parser
GetChainParser() BlockChainParser
// EthereumType specific
EthereumTypeGetBalance(addrDesc AddressDescriptor) (*big.Int, error)
EthereumTypeGetNonce(addrDesc AddressDescriptor) (uint64, error)
EthereumTypeEstimateGas(params map[string]interface{}) (uint64, error)
EthereumTypeGetErc20ContractInfo(contractDesc AddressDescriptor) (*Erc20Contract, error)
EthereumTypeGetErc20ContractBalance(addrDesc, contractDesc AddressDescriptor) (*big.Int, error)
}
BlockChain defines common interface to block chain daemon
type BlockChainParser ¶
type BlockChainParser interface {
// type of the blockchain
GetChainType() ChainType
// KeepBlockAddresses returns number of blocks which are to be kept in blockTxs column
// to be used for rollbacks
KeepBlockAddresses() int
// AmountDecimals returns number of decimal places in coin amounts
AmountDecimals() int
// AmountToDecimalString converts amount in big.Int to string with decimal point in the correct place
AmountToDecimalString(a *big.Int) string
// AmountToBigInt converts amount in json.Number (string) to big.Int
// it uses string operations to avoid problems with rounding
AmountToBigInt(n json.Number) (big.Int, error)
// address descriptor conversions
GetAddrDescFromVout(output *Vout) (AddressDescriptor, error)
GetAddrDescFromAddress(address string) (AddressDescriptor, error)
GetAddressesFromAddrDesc(addrDesc AddressDescriptor) ([]string, bool, error)
GetScriptFromAddrDesc(addrDesc AddressDescriptor) ([]byte, error)
// transactions
PackedTxidLen() int
PackTxid(txid string) ([]byte, error)
UnpackTxid(buf []byte) (string, error)
ParseTx(b []byte) (*Tx, error)
ParseTxFromJson(json.RawMessage) (*Tx, error)
PackTx(tx *Tx, height uint32, blockTime int64) ([]byte, error)
UnpackTx(buf []byte) (*Tx, uint32, error)
GetAddrDescForUnknownInput(tx *Tx, input int) AddressDescriptor
// blocks
PackBlockHash(hash string) ([]byte, error)
UnpackBlockHash(buf []byte) (string, error)
ParseBlock(b []byte) (*Block, error)
// EthereumType specific
EthereumTypeGetErc20FromTx(tx *Tx) ([]Erc20Transfer, error)
}
BlockChainParser defines common interface to parsing and conversions of block chain data
type BlockHeader ¶
type BlockHeader struct {
Hash string `json:"hash"`
Prev string `json:"previousblockhash"`
Next string `json:"nextblockhash"`
Height uint32 `json:"height"`
Confirmations int `json:"confirmations"`
Size int `json:"size"`
Time int64 `json:"time,omitempty"`
}
BlockHeader contains limited data (as needed for indexing) from backend block header
type BlockInfo ¶ added in v0.1.0
type BlockInfo struct {
BlockHeader
Version json.Number `json:"version"`
MerkleRoot string `json:"merkleroot"`
Nonce json.Number `json:"nonce"`
Bits string `json:"bits"`
Difficulty json.Number `json:"difficulty"`
Txids []string `json:"tx,omitempty"`
}
BlockInfo contains extended block header data and a list of block txids
type ChainInfo ¶ added in v0.1.0
type ChainInfo struct {
Chain string `json:"chain"`
Blocks int `json:"blocks"`
Headers int `json:"headers"`
Bestblockhash string `json:"bestblockhash"`
Difficulty string `json:"difficulty"`
SizeOnDisk int64 `json:"size_on_disk"`
Version string `json:"version"`
Subversion string `json:"subversion"`
ProtocolVersion string `json:"protocolversion"`
Timeoffset float64 `json:"timeoffset"`
Warnings string `json:"warnings"`
}
ChainInfo is used to get information about blockchain
type Erc20Contract ¶ added in v0.2.0
type Erc20Contract struct {
Contract string `json:"contract"`
Name string `json:"name"`
Symbol string `json:"symbol"`
Decimals int `json:"decimals"`
}
Erc20Contract contains info about ERC20 contract
type Erc20Transfer ¶ added in v0.2.0
Erc20Transfer contains a single ERC20 token transfer
type MQ ¶
type MQ struct {
// contains filtered or unexported fields
}
MQ is message queue listener handle
type MempoolBitcoinType ¶ added in v0.2.0
type MempoolBitcoinType struct {
// contains filtered or unexported fields
}
MempoolBitcoinType is mempool handle.
func NewMempoolBitcoinType ¶ added in v0.2.0
func NewMempoolBitcoinType(chain BlockChain, workers int, subworkers int) *MempoolBitcoinType
NewMempoolBitcoinType creates new mempool handler. For now there is no cleanup of sync routines, the expectation is that the mempool is created only once per process
func (*MempoolBitcoinType) GetAddrDescTransactions ¶ added in v0.2.0
func (m *MempoolBitcoinType) GetAddrDescTransactions(addrDesc AddressDescriptor) ([]Outpoint, error)
GetAddrDescTransactions returns slice of mempool transactions for given address descriptor
func (*MempoolBitcoinType) GetTransactions ¶ added in v0.2.0
func (m *MempoolBitcoinType) GetTransactions(address string) ([]Outpoint, error)
GetTransactions returns slice of mempool transactions for given address
func (*MempoolBitcoinType) Resync ¶ added in v0.2.0
func (m *MempoolBitcoinType) Resync(onNewTxAddr OnNewTxAddrFunc) (int, error)
Resync gets mempool transactions and maps outputs to transactions. Resync is not reentrant, it should be called from a single thread. Read operations (GetTransactions) are safe.
type MempoolEntry ¶
type MempoolEntry struct {
Size uint32 `json:"size"`
FeeSat big.Int
Fee json.Number `json:"fee"`
ModifiedFeeSat big.Int
ModifiedFee json.Number `json:"modifiedfee"`
Time uint64 `json:"time"`
Height uint32 `json:"height"`
DescendantCount uint32 `json:"descendantcount"`
DescendantSize uint32 `json:"descendantsize"`
DescendantFees uint32 `json:"descendantfees"`
AncestorCount uint32 `json:"ancestorcount"`
AncestorSize uint32 `json:"ancestorsize"`
AncestorFees uint32 `json:"ancestorfees"`
Depends []string `json:"depends"`
}
MempoolEntry is used to get data about mempool entry
type MempoolEthereumType ¶ added in v0.2.0
type MempoolEthereumType struct {
// contains filtered or unexported fields
}
MempoolEthereumType is mempool handle of EthereumType chains
func NewMempoolEthereumType ¶ added in v0.2.0
func NewMempoolEthereumType(chain BlockChain) *MempoolEthereumType
NewMempoolEthereumType creates new mempool handler.
func (*MempoolEthereumType) GetAddrDescTransactions ¶ added in v0.2.0
func (m *MempoolEthereumType) GetAddrDescTransactions(addrDesc AddressDescriptor) ([]Outpoint, error)
GetAddrDescTransactions returns slice of mempool transactions for given address descriptor
func (*MempoolEthereumType) GetTransactions ¶ added in v0.2.0
func (m *MempoolEthereumType) GetTransactions(address string) ([]Outpoint, error)
GetTransactions returns slice of mempool transactions for given address
func (*MempoolEthereumType) Resync ¶ added in v0.2.0
func (m *MempoolEthereumType) Resync(onNewTxAddr OnNewTxAddrFunc) (int, error)
Resync gets mempool transactions and maps outputs to transactions. Resync is not reentrant, it should be called from a single thread. Read operations (GetTransactions) are safe.
type NotificationType ¶
type NotificationType int
NotificationType is type of notification
const ( // NotificationUnknown is unknown NotificationUnknown NotificationType = iota // NotificationNewBlock message is sent when there is a new block to be imported NotificationNewBlock NotificationType = iota // NotificationNewTx message is sent when there is a new mempool transaction NotificationNewTx NotificationType = iota )
type OnNewBlockFunc ¶
OnNewBlockFunc is used to send notification about a new block
type OnNewTxAddrFunc ¶
type OnNewTxAddrFunc func(tx *Tx, desc AddressDescriptor)
OnNewTxAddrFunc is used to send notification about a new transaction/address
type ProtoTransaction ¶
type ProtoTransaction struct {
Txid []byte `protobuf:"bytes,1,opt,name=Txid,proto3" json:"Txid,omitempty"`
Hex []byte `protobuf:"bytes,2,opt,name=Hex,proto3" json:"Hex,omitempty"`
Blocktime uint64 `protobuf:"varint,3,opt,name=Blocktime" json:"Blocktime,omitempty"`
Locktime uint32 `protobuf:"varint,4,opt,name=Locktime" json:"Locktime,omitempty"`
Height uint32 `protobuf:"varint,5,opt,name=Height" json:"Height,omitempty"`
Vin []*ProtoTransaction_VinType `protobuf:"bytes,6,rep,name=Vin" json:"Vin,omitempty"`
Vout []*ProtoTransaction_VoutType `protobuf:"bytes,7,rep,name=Vout" json:"Vout,omitempty"`
Version int32 `protobuf:"varint,8,opt,name=Version" json:"Version,omitempty"`
}
func (*ProtoTransaction) Descriptor ¶
func (*ProtoTransaction) Descriptor() ([]byte, []int)
func (*ProtoTransaction) GetBlocktime ¶
func (m *ProtoTransaction) GetBlocktime() uint64
func (*ProtoTransaction) GetHeight ¶
func (m *ProtoTransaction) GetHeight() uint32
func (*ProtoTransaction) GetHex ¶
func (m *ProtoTransaction) GetHex() []byte
func (*ProtoTransaction) GetLocktime ¶
func (m *ProtoTransaction) GetLocktime() uint32
func (*ProtoTransaction) GetTxid ¶
func (m *ProtoTransaction) GetTxid() []byte
func (*ProtoTransaction) GetVersion ¶ added in v0.2.0
func (m *ProtoTransaction) GetVersion() int32
func (*ProtoTransaction) GetVin ¶
func (m *ProtoTransaction) GetVin() []*ProtoTransaction_VinType
func (*ProtoTransaction) GetVout ¶
func (m *ProtoTransaction) GetVout() []*ProtoTransaction_VoutType
func (*ProtoTransaction) ProtoMessage ¶
func (*ProtoTransaction) ProtoMessage()
func (*ProtoTransaction) Reset ¶
func (m *ProtoTransaction) Reset()
func (*ProtoTransaction) String ¶
func (m *ProtoTransaction) String() string
type ProtoTransaction_VinType ¶
type ProtoTransaction_VinType struct {
Coinbase string `protobuf:"bytes,1,opt,name=Coinbase" json:"Coinbase,omitempty"`
Txid []byte `protobuf:"bytes,2,opt,name=Txid,proto3" json:"Txid,omitempty"`
Vout uint32 `protobuf:"varint,3,opt,name=Vout" json:"Vout,omitempty"`
ScriptSigHex []byte `protobuf:"bytes,4,opt,name=ScriptSigHex,proto3" json:"ScriptSigHex,omitempty"`
Sequence uint32 `protobuf:"varint,5,opt,name=Sequence" json:"Sequence,omitempty"`
Addresses []string `protobuf:"bytes,6,rep,name=Addresses" json:"Addresses,omitempty"`
}
func (*ProtoTransaction_VinType) Descriptor ¶
func (*ProtoTransaction_VinType) Descriptor() ([]byte, []int)
func (*ProtoTransaction_VinType) GetAddresses ¶
func (m *ProtoTransaction_VinType) GetAddresses() []string
func (*ProtoTransaction_VinType) GetCoinbase ¶
func (m *ProtoTransaction_VinType) GetCoinbase() string
func (*ProtoTransaction_VinType) GetScriptSigHex ¶
func (m *ProtoTransaction_VinType) GetScriptSigHex() []byte
func (*ProtoTransaction_VinType) GetSequence ¶
func (m *ProtoTransaction_VinType) GetSequence() uint32
func (*ProtoTransaction_VinType) GetTxid ¶
func (m *ProtoTransaction_VinType) GetTxid() []byte
func (*ProtoTransaction_VinType) GetVout ¶
func (m *ProtoTransaction_VinType) GetVout() uint32
func (*ProtoTransaction_VinType) ProtoMessage ¶
func (*ProtoTransaction_VinType) ProtoMessage()
func (*ProtoTransaction_VinType) Reset ¶
func (m *ProtoTransaction_VinType) Reset()
func (*ProtoTransaction_VinType) String ¶
func (m *ProtoTransaction_VinType) String() string
type ProtoTransaction_VoutType ¶
type ProtoTransaction_VoutType struct {
ValueSat []byte `protobuf:"bytes,1,opt,name=ValueSat,proto3" json:"ValueSat,omitempty"`
N uint32 `protobuf:"varint,2,opt,name=N" json:"N,omitempty"`
ScriptPubKeyHex []byte `protobuf:"bytes,3,opt,name=ScriptPubKeyHex,proto3" json:"ScriptPubKeyHex,omitempty"`
Addresses []string `protobuf:"bytes,4,rep,name=Addresses" json:"Addresses,omitempty"`
}
func (*ProtoTransaction_VoutType) Descriptor ¶
func (*ProtoTransaction_VoutType) Descriptor() ([]byte, []int)
func (*ProtoTransaction_VoutType) GetAddresses ¶
func (m *ProtoTransaction_VoutType) GetAddresses() []string
func (*ProtoTransaction_VoutType) GetN ¶
func (m *ProtoTransaction_VoutType) GetN() uint32
func (*ProtoTransaction_VoutType) GetScriptPubKeyHex ¶
func (m *ProtoTransaction_VoutType) GetScriptPubKeyHex() []byte
func (*ProtoTransaction_VoutType) GetValueSat ¶ added in v0.1.0
func (m *ProtoTransaction_VoutType) GetValueSat() []byte
func (*ProtoTransaction_VoutType) ProtoMessage ¶
func (*ProtoTransaction_VoutType) ProtoMessage()
func (*ProtoTransaction_VoutType) Reset ¶
func (m *ProtoTransaction_VoutType) Reset()
func (*ProtoTransaction_VoutType) String ¶
func (m *ProtoTransaction_VoutType) String() string
type ScriptPubKey ¶
type ScriptPubKey struct {
// Asm string `json:"asm"`
Hex string `json:"hex,omitempty"`
// Type string `json:"type"`
Addresses []string `json:"addresses"`
}
ScriptPubKey contains data about output script
type ScriptSig ¶
type ScriptSig struct {
// Asm string `json:"asm"`
Hex string `json:"hex"`
}
ScriptSig contains data about input script
type Tx ¶
type Tx struct {
Hex string `json:"hex"`
Txid string `json:"txid"`
Version int32 `json:"version"`
LockTime uint32 `json:"locktime"`
Vin []Vin `json:"vin"`
Vout []Vout `json:"vout"`
// BlockHash string `json:"blockhash,omitempty"`
Confirmations uint32 `json:"confirmations,omitempty"`
Time int64 `json:"time,omitempty"`
Blocktime int64 `json:"blocktime,omitempty"`
CoinSpecificData interface{} `json:"-"`
}
Tx is blockchain transaction unnecessary fields are commented out to avoid overhead