Documentation ¶
Index ¶
- Constants
- Variables
- func GetChainParams(chain string) *chaincfg.Params
- func NewPivXRPC(config json.RawMessage, pushHandler func(bchain.NotificationType)) (bchain.BlockChain, error)
- func Uint16(r io.Reader, byteOrder binary.ByteOrder) (uint16, error)
- func Uint32(r io.Reader, byteOrder binary.ByteOrder) (uint32, error)
- func Uint64(r io.Reader, byteOrder binary.ByteOrder) (uint64, error)
- func Uint8(r io.Reader) (uint8, error)
- type CmdFindSerial
- type CmdGetInfo
- type CmdGetMasternodeCount
- type PivXParser
- func (p *PivXParser) GetAddrDescForUnknownInput(tx *bchain.Tx, input int) bchain.AddressDescriptor
- func (p *PivXParser) GetValueSatForUnknownInput(tx *bchain.Tx, input int) *big.Int
- func (p *PivXParser) GetValueSatFromZerocoinSpend(signatureScript []byte) (*big.Int, error)
- func (p *PivXParser) IsAddrDescIndexable(addrDesc bchain.AddressDescriptor) bool
- func (p *PivXParser) P2CSScriptToAddress(script []byte) ([]string, bool, error)
- func (p *PivXParser) PackTx(tx *bchain.Tx, height uint32, blockTime int64) ([]byte, error)
- func (p *PivXParser) ParseBlock(b []byte) (*bchain.Block, error)
- func (p *PivXParser) ParseTx(b []byte) (*bchain.Tx, error)
- func (p *PivXParser) ParseTxFromJson(msg json.RawMessage) (*bchain.Tx, error)
- func (p *PivXParser) TxFromMsgTx(t *wire.MsgTx, parseAddresses bool) bchain.Tx
- func (p *PivXParser) UnpackTx(buf []byte) (*bchain.Tx, uint32, error)
- type PivXRPC
- type ResFindSerial
- type ResGetInfo
- type ResGetMasternodeCount
Constants ¶
const ( // Net Magics MainnetMagic wire.BitcoinNet = 0xe9fdc490 TestnetMagic wire.BitcoinNet = 0xba657645 // Zerocoin op codes OP_ZEROCOINMINT = 0xc1 OP_ZEROCOINSPEND = 0xc2 OP_CHECKCOLDSTAKEVERIFY = 0xd1 // Labels ZCMINT_LABEL = "Zerocoin Mint" ZCSPEND_LABEL = "Zerocoin Spend" CBASE_LABEL = "CoinBase TX" CSTAKE_LABEL = "CoinStake TX" // Dummy Internal Addresses CBASE_ADDR_INT = 0xf7 CSTAKE_ADDR_INT = 0xf8 // Staking Addresses STAKING_ADDR_MAIN = 63 STAKING_ADDR_TEST = 73 )
Variables ¶
var ( MainNetParams chaincfg.Params TestNetParams chaincfg.Params )
Functions ¶
func GetChainParams ¶
GetChainParams contains network parameters for the main PivX network
func NewPivXRPC ¶
func NewPivXRPC(config json.RawMessage, pushHandler func(bchain.NotificationType)) (bchain.BlockChain, error)
NewPivXRPC returns new PivXRPC instance.
func Uint16 ¶
Uint16 reads two bytes from the provided reader, converts it to a number using the provided byte order, and returns the resulting uint16.
func Uint32 ¶
Uint32 reads four bytes from the provided reader, converts it to a number using the provided byte order, and returns the resulting uint32.
Types ¶
type CmdFindSerial ¶
findserial
type CmdGetInfo ¶
type CmdGetInfo struct {
Method string `json:"method"`
}
type CmdGetMasternodeCount ¶
type CmdGetMasternodeCount struct {
Method string `json:"method"`
}
type PivXParser ¶
type PivXParser struct { *btc.BitcoinParser BitcoinOutputScriptToAddressesFunc btc.OutputScriptToAddressesFunc // contains filtered or unexported fields }
PivXParser handle
func NewPivXParser ¶
func NewPivXParser(params *chaincfg.Params, c *btc.Configuration) *PivXParser
NewPivXParser returns new PivXParser instance
func (*PivXParser) GetAddrDescForUnknownInput ¶
func (p *PivXParser) GetAddrDescForUnknownInput(tx *bchain.Tx, input int) bchain.AddressDescriptor
func (*PivXParser) GetValueSatForUnknownInput ¶
func (*PivXParser) GetValueSatFromZerocoinSpend ¶
func (p *PivXParser) GetValueSatFromZerocoinSpend(signatureScript []byte) (*big.Int, error)
Decodes the amount from the zerocoin spend script
func (*PivXParser) IsAddrDescIndexable ¶
func (p *PivXParser) IsAddrDescIndexable(addrDesc bchain.AddressDescriptor) bool
IsAddrDescIndexable returns true if AddressDescriptor should be added to index empty or OP_RETURN scripts are not indexed. also are not indexed: zerocoin mints/spends coinbase txes and coinstake markers
func (*PivXParser) P2CSScriptToAddress ¶
func (p *PivXParser) P2CSScriptToAddress(script []byte) ([]string, bool, error)
Returns P2CS owner/staker addresses
func (*PivXParser) ParseBlock ¶
func (p *PivXParser) ParseBlock(b []byte) (*bchain.Block, error)
ParseBlock parses raw block to our Block struct
func (*PivXParser) ParseTx ¶
func (p *PivXParser) ParseTx(b []byte) (*bchain.Tx, error)
ParseTx parses byte array containing transaction and returns Tx struct
func (*PivXParser) ParseTxFromJson ¶
func (p *PivXParser) ParseTxFromJson(msg json.RawMessage) (*bchain.Tx, error)
ParseTxFromJson parses JSON message containing transaction and returns Tx struct
func (*PivXParser) TxFromMsgTx ¶
Parses tx and adds handling for OP_ZEROCOINSPEND inputs
type PivXRPC ¶
type PivXRPC struct { *btc.BitcoinRPC BitcoinGetChainInfo func() (*bchain.ChainInfo, error) }
PivXRPC is an interface to JSON-RPC bitcoind service.
func (*PivXRPC) GetChainInfo ¶
GetChainInfo returns information about the connected backend PIVX adds MoneySupply and ZerocoinSupply to btc implementation
func (*PivXRPC) GetNextSuperBlock ¶
GetNextSuperBlock returns the next superblock height after nHeight
func (*PivXRPC) Initialize ¶
Initialize initializes PivXRPC instance.