Documentation ¶
Index ¶
- Constants
- Variables
- func NewBitcoinChecker(params internal.ParserParams) (internal.Checker, error)
- func NewBitcoinNativeParser(params internal.ParserParams, opts ...internal.ParserFactoryOption) (internal.NativeParser, error)
- func NewBitcoinRosettaParser(params internal.ParserParams, nativeParser internal.NativeParser, ...) (internal.RosettaParser, error)
- type BitcoinBlock
- type BitcoinBlockLit
- type BitcoinBoolean
- type BitcoinDecimalQuantity
- type BitcoinHexString
- type BitcoinInputTransactionLit
- type BitcoinQuantity
- type BitcoinScriptPubKey
- type BitcoinScriptSig
- type BitcoinString
- type BitcoinTransaction
- type BitcoinTransactionInput
- type BitcoinTransactionInputLit
- type BitcoinTransactionLit
- type BitcoinTransactionOutput
Constants ¶
View Source
const ( // SkippedStatus is the status of all // operations that are skipped because // of BIP-30. You can read more about these // types of operations in BIP-30. SkippedStatus = "SKIPPED" // NullData is returned by bitcoind // as the ScriptPubKey.Type for OP_RETURN // locking scripts. NullData = "nulldata" )
Variables ¶
View Source
var Module = fx.Options( internal.NewParserBuilder("bitcoin", NewBitcoinNativeParser). SetCheckerFactory(NewBitcoinChecker). SetRosettaParserFactory(NewBitcoinRosettaParser). Build(), )
Functions ¶
func NewBitcoinChecker ¶
func NewBitcoinChecker(params internal.ParserParams) (internal.Checker, error)
func NewBitcoinNativeParser ¶
func NewBitcoinNativeParser(params internal.ParserParams, opts ...internal.ParserFactoryOption) (internal.NativeParser, error)
func NewBitcoinRosettaParser ¶
func NewBitcoinRosettaParser(params internal.ParserParams, nativeParser internal.NativeParser, opts ...internal.ParserFactoryOption) (internal.RosettaParser, error)
Types ¶
type BitcoinBlock ¶
type BitcoinBlock struct { Hash BitcoinHexString `json:"hash" validate:"required"` StrippedSize BitcoinQuantity `json:"strippedsize"` Size BitcoinQuantity `json:"size"` Weight BitcoinQuantity `json:"weight"` Height BitcoinQuantity `json:"height" validate:"required_with=PreviousBlockHash"` Version BitcoinQuantity `json:"version"` VersionHex BitcoinHexString `json:"versionHex"` MerkleRoot BitcoinHexString `json:"merkleroot"` Tx []*BitcoinTransaction `json:"tx" validate:"required,min=1,dive,required"` Time BitcoinQuantity `json:"time" validate:"required"` MedianTime BitcoinQuantity `json:"mediantime"` Nonce BitcoinQuantity `json:"nonce"` Bits BitcoinHexString `json:"bits"` Difficulty BitcoinDecimalQuantity `json:"difficulty"` ChainWork BitcoinHexString `json:"chainwork"` NTx BitcoinQuantity `json:"nTx"` PreviousBlockHash BitcoinHexString `json:"previousblockhash" validate:"required_with=Height"` NextBlockHash BitcoinHexString `json:"nextblockhash"` }
BitcoinBlock https://developer.bitcoin.org/reference/rpc/getblock.html
func (*BitcoinBlock) GetApiBitcoinHeader ¶
func (b *BitcoinBlock) GetApiBitcoinHeader() *api.BitcoinHeader
type BitcoinBlockLit ¶
type BitcoinBlockLit struct { Hash BitcoinHexString `json:"hash" validate:"required"` PreviousBlockHash BitcoinHexString `json:"previousblockhash" validate:"required_with=Height"` Height BitcoinQuantity `json:"height" validate:"required_with=PreviousBlockHash"` Transactions []*BitcoinTransactionLit `json:"tx" validate:"required"` Time BitcoinQuantity `json:"time" validate:"required"` }
BitcoinBlockLit is a light version of BitcoinBlock Fields not used during data ingestion are removed.
type BitcoinBoolean ¶
type BitcoinBoolean bool
func (BitcoinBoolean) Value ¶
func (v BitcoinBoolean) Value() bool
type BitcoinDecimalQuantity ¶
type BitcoinDecimalQuantity float64
func (BitcoinDecimalQuantity) String ¶
func (v BitcoinDecimalQuantity) String() string
func (BitcoinDecimalQuantity) Value ¶
func (v BitcoinDecimalQuantity) Value() float64
type BitcoinHexString ¶
type BitcoinHexString string
func (BitcoinHexString) Value ¶
func (v BitcoinHexString) Value() string
type BitcoinInputTransactionLit ¶
type BitcoinInputTransactionLit struct { TxId BitcoinHexString `json:"txid" validate:"required"` Vout []*BitcoinTransactionOutput `json:"vout" validate:"required,min=1,dive,required"` }
type BitcoinQuantity ¶
type BitcoinQuantity uint64
func (BitcoinQuantity) Value ¶
func (v BitcoinQuantity) Value() uint64
type BitcoinScriptPubKey ¶
type BitcoinScriptPubKey struct { Asm BitcoinString `json:"asm"` Hex BitcoinHexString `json:"hex"` ReqSigs BitcoinQuantity `json:"reqSigs"` // deprecated: https://github.com/bitcoin/bitcoin/pull/20286 Type BitcoinString `json:"type"` Addresses []BitcoinString `json:"addresses"` // deprecated: https://github.com/bitcoin/bitcoin/pull/20286 Address BitcoinString `json:"address"` }
BitcoinScriptPubKey ... note that reqSigs and addresses are kept for backward compatibility from what's in storage
func (*BitcoinScriptPubKey) ToApiBitcoinScriptPublicKey ¶
func (k *BitcoinScriptPubKey) ToApiBitcoinScriptPublicKey() (*api.BitcoinScriptPublicKey, error)
type BitcoinScriptSig ¶
type BitcoinScriptSig struct { Asm BitcoinString `json:"asm"` Hex BitcoinHexString `json:"hex"` }
func (*BitcoinScriptSig) ToApiBitcoinScriptSignature ¶
func (s *BitcoinScriptSig) ToApiBitcoinScriptSignature() *api.BitcoinScriptSignature
type BitcoinString ¶
type BitcoinString string
func (BitcoinString) Value ¶
func (v BitcoinString) Value() string
type BitcoinTransaction ¶
type BitcoinTransaction struct { Hex BitcoinHexString `json:"hex"` TxId BitcoinHexString `json:"txid" validate:"required"` Hash BitcoinHexString `json:"hash" validate:"required"` Size BitcoinQuantity `json:"size"` Vsize BitcoinQuantity `json:"vsize"` Weight BitcoinQuantity `json:"weight"` Version BitcoinQuantity `json:"version"` LockTime BitcoinQuantity `json:"locktime"` Vin []*BitcoinTransactionInput `json:"vin" validate:"required,min=1,dive,required"` Vout []*BitcoinTransactionOutput `json:"vout" validate:"required,min=1,dive,required"` BlockHash BitcoinHexString `json:"blockhash"` BlockTime BitcoinQuantity `json:"blocktime"` Time BitcoinQuantity `json:"time"` }
BitcoinTransaction https://developer.bitcoin.org/reference/rpc/getrawtransaction.html
func (*BitcoinTransaction) ToApiBitcoinTransaction ¶
func (t *BitcoinTransaction) ToApiBitcoinTransaction(index int, metadataMap map[string][]*api.BitcoinTransactionOutput) (*api.BitcoinTransaction, error)
type BitcoinTransactionInput ¶
type BitcoinTransactionInput struct { Coinbase BitcoinHexString `json:"coinbase"` TxId BitcoinHexString `json:"txid" validate:"required_without=Coinbase"` Vout BitcoinQuantity `json:"vout"` ScriptSig *BitcoinScriptSig `json:"scriptSig"` Sequence BitcoinQuantity `json:"sequence"` TxInWitness []BitcoinHexString `json:"txinwitness"` }
func (*BitcoinTransactionInput) ToApiBitcoinTransactionInput ¶
func (i *BitcoinTransactionInput) ToApiBitcoinTransactionInput(index uint64) *api.BitcoinTransactionInput
type BitcoinTransactionInputLit ¶
type BitcoinTransactionInputLit struct { Coinbase BitcoinHexString `json:"coinbase"` Identifier BitcoinHexString `json:"txid" validate:"required_without=Coinbase"` Vout BitcoinQuantity `json:"vout" validate:"required_with=Identifier"` }
type BitcoinTransactionLit ¶
type BitcoinTransactionLit struct { Identifier BitcoinHexString `json:"txid" validate:"required"` Inputs []*BitcoinTransactionInputLit `json:"vin" validate:"required"` }
func (*BitcoinTransactionLit) UnmarshalJSON ¶
func (v *BitcoinTransactionLit) UnmarshalJSON(input []byte) error
type BitcoinTransactionOutput ¶
type BitcoinTransactionOutput struct { Value BitcoinDecimalQuantity `json:"value"` N BitcoinQuantity `json:"n"` ScriptPubKey *BitcoinScriptPubKey `json:"scriptPubKey" validate:"required"` }
func (*BitcoinTransactionOutput) ToApiBitcoinTransactionOutput ¶
func (o *BitcoinTransactionOutput) ToApiBitcoinTransactionOutput() (*api.BitcoinTransactionOutput, error)
Click to show internal directories.
Click to hide internal directories.