Documentation ¶
Index ¶
- Constants
- Variables
- func GetAddressFromPublicKeyScript(script []byte) (address string)
- func GetBalance() (*float64, error)
- func GetBlockCount() (*uint64, error)
- func GetBlockHash(i uint64) (*string, error)
- func GetPubKeyScriptFromClaimPKS(script []byte) (pubkeyscript []byte, err error)
- func Init() *upstream.Client
- func IsClaimNameScript(script []byte) bool
- func IsClaimScript(script []byte) bool
- func IsClaimSupportScript(script []byte) bool
- func IsClaimUpdateScript(script []byte) bool
- func ParseClaimNameScript(script []byte) (name string, value []byte, pubkeyscript []byte, err error)
- func ParseClaimSupportScript(script []byte) (name string, claimid string, pubkeyscript []byte, err error)
- func ParseClaimUpdateScript(script []byte) (name string, claimid string, value []byte, pubkeyscript []byte, err error)
- type Claim
- type ClaimNameResult
- type ClaimResult
- type ClaimsForNameResult
- type GetBlockHeaderResponse
- type GetBlockResponse
- type GetRawMempoolVerboseResult
- type RawMempoolVerboseResponse
- type ScriptPubKeyResult
- type ScriptSig
- type Support
- type TxRawResult
- type Vin
- type Vout
Constants ¶
const ( // NonStandard is a transaction type, usually used for a claim. NonStandard = "nonstandard" // Non Standard - Used for Claims in LBRY )
Variables ¶
var LBRYcrdURL string
LBRYcrdURL is the connection string for lbrycrd and is set from the configuration
Functions ¶
func GetAddressFromPublicKeyScript ¶
GetAddressFromPublicKeyScript returns the address associated with a public key script.
func GetBalance ¶
GetBalance returns the balance of a wallet address.
func GetBlockCount ¶
GetBlockCount returns the highest block LBRYcrd is aware of.
func GetBlockHash ¶
GetBlockHash performs a jsonrpc that returns the hash of the block as a string.
func GetPubKeyScriptFromClaimPKS ¶
GetPubKeyScriptFromClaimPKS gets the public key script at the end of a claim script.
func IsClaimNameScript ¶
IsClaimNameScript returns true if the script for the vout contains the OP_CLAIM_NAME code.
func IsClaimScript ¶
IsClaimScript return true if the script for the vout contains the right opt codes pertaining to a claim.
func IsClaimSupportScript ¶
IsClaimSupportScript returns true if the script for the vout contains the OP_CLAIM_SUPPORT code.
func IsClaimUpdateScript ¶
IsClaimUpdateScript returns true if the script for the vout contains the OP_CLAIM_UPDATE code.
func ParseClaimNameScript ¶
func ParseClaimNameScript(script []byte) (name string, value []byte, pubkeyscript []byte, err error)
ParseClaimNameScript parses a script for the claim of a name.
Types ¶
type Claim ¶
type Claim struct { Name string `json:"name,omitempty"` ClaimID string `json:"claimId"` TxID string `json:"txid"` N int32 `json:"n"` Height int32 `json:"nHeight"` ValidAtHeight int32 `json:"nValidAtHeight"` Amount float64 `json:"nAmount"` EffectiveAmount uint64 `json:"nEffectiveAmount"` Supports []Support `json:"supports,omitempty"` }
Claim models the data of a claim both static and dynamic. Used for claimtrie sync.
type ClaimNameResult ¶
type ClaimNameResult struct { Name string `json:"name"` Claims []ClaimResult `json:"claims,omitempty"` }
ClaimNameResult models the data from the claimtrie of lbrycrd.
func GetClaimsInTrie ¶
func GetClaimsInTrie() ([]ClaimNameResult, error)
GetClaimsInTrie gets all the claims current active in the claim trie
type ClaimResult ¶
type ClaimResult struct { ClaimID string `json:"claimId"` TxID string `json:"txid"` Sequence uint64 `json:"n"` Amount float64 `json:"amount"` Height uint64 `json:"height"` Value string `json:"value"` }
ClaimResult models the static data of a claim in the claimtrie
type ClaimsForNameResult ¶
type ClaimsForNameResult struct { LastTakeOverHeight int32 `json:"nLastTakeoverheight"` Claims []Claim `json:"claims"` UnmatchedSupports []Support `json:"unmatched supports"` }
ClaimsForNameResult models the claim list for a name in the claimtrie of lbrycrd.
func GetClaimsForName ¶
func GetClaimsForName(name string) (ClaimsForNameResult, error)
GetClaimsForName gets all the claims for a name in the claimtrie.
type GetBlockHeaderResponse ¶
type GetBlockHeaderResponse struct { Hash string `json:"hash"` Confirmations uint64 `json:"confirmations"` Height int32 `json:"height"` Version int32 `json:"version"` VersionHex string `json:"versionHex"` MerkleRoot string `json:"merkleroot"` Time int64 `json:"time"` Nonce uint64 `json:"nonce"` Bits string `json:"bits"` Difficulty float64 `json:"difficulty"` PreviousHash string `json:"previousblockhash,omitempty"` NextHash string `json:"nextblockhash,omitempty"` }
GetBlockHeaderResponse models the data from the getblockheader command when the verbose flag is set. When the verbose flag is not set, getblockheader returns a hex-encoded string.
type GetBlockResponse ¶
type GetBlockResponse struct { Hash string `json:"hash"` Confirmations uint64 `json:"confirmations"` StrippedSize int32 `json:"strippedsize"` Size int32 `json:"size"` Weight int32 `json:"weight"` Height int64 `json:"height"` Version int32 `json:"version"` VersionHex string `json:"versionHex"` MerkleRoot string `json:"merkleroot"` NameClaimRoot string `json:"nameclaimroot"` Tx []string `json:"tx"` Time int64 `json:"time"` Nonce uint64 `json:"nonce"` Bits string `json:"bits"` Difficulty float64 `json:"difficulty"` PreviousHash string `json:"previousblockhash"` NextHash string `json:"nextblockhash,omitempty"` ChainWork string `json:"chainwork"` }
GetBlockResponse models the data from the getblock command when the verbose flag is set. When the verbose flag is not set, getblock returns a hex-encoded string.
func GetBlock ¶
func GetBlock(blockHash string) (*GetBlockResponse, error)
GetBlock performs a jsonrpc that returns the structured data as a GetBlockResponse. If LBRYcrd contains this block it will be returned.
type GetRawMempoolVerboseResult ¶ added in v1.2.0
type GetRawMempoolVerboseResult struct { Size int32 `json:"size"` Vsize int32 `json:"vsize"` Fee float64 `json:"fee"` Time int64 `json:"time"` Height int64 `json:"height"` StartingPriority float64 `json:"startingpriority"` CurrentPriority float64 `json:"currentpriority"` Depends []string `json:"depends"` }
GetRawMempoolVerboseResult models the data returned from the getrawmempool command when the verbose flag is set. When the verbose flag is not set, getrawmempool returns an array of transaction hashes.
type RawMempoolVerboseResponse ¶ added in v1.2.0
type RawMempoolVerboseResponse map[string]GetRawMempoolVerboseResult
RawMempoolVerboseResponse models the object of mempool results
func GetRawMempool ¶ added in v1.2.0
func GetRawMempool() (RawMempoolVerboseResponse, error)
GetRawMempool gets all the transactions in the mempool
type ScriptPubKeyResult ¶
type ScriptPubKeyResult struct { Asm string `json:"asm"` Hex string `json:"hex,omitempty"` ReqSigs int32 `json:"reqSigs,omitempty"` Type string `json:"type"` Addresses []string `json:"addresses,omitempty"` }
ScriptPubKeyResult models the scriptPubKey data of a tx script. It is defined separately since it is used by multiple commands.
type ScriptSig ¶
ScriptSig models a signature script. It is defined separately since it only applies to non-coinbase. Therefore the field in the Vin structure needs to be a pointer.
type Support ¶
type Support struct { TxID string `json:"txid"` N int32 `json:"n"` Height int32 `json:"nHeight"` ValidAtHeight int32 `json:"nValidAtHeight"` Amount float64 `json:"nAmount"` }
Support models the support information for a claim in the claimtrie of lbrycrd.
type TxRawResult ¶
type TxRawResult struct { Hex string `json:"hex"` Txid string `json:"txid"` Hash string `json:"hash,omitempty"` Size int32 `json:"size,omitempty"` Vsize int32 `json:"vsize,omitempty"` Version int32 `json:"version"` LockTime uint64 `json:"locktime"` Vin []Vin `json:"vin"` Vout []Vout `json:"vout"` BlockHash string `json:"blockhash,omitempty"` Confirmations uint64 `json:"confirmations,omitempty"` Time int64 `json:"time,omitempty"` Blocktime int64 `json:"blocktime,omitempty"` }
TxRawResult models the data from the getrawtransaction command.
func GetRawTransactionResponse ¶
func GetRawTransactionResponse(hash string) (*TxRawResult, error)
GetRawTransactionResponse returns the raw transactions structured data. This will not always work. LBRYcrd must have -txindex turned on otherwise only transactions in the memory pool can be returned.
type Vin ¶
type Vin struct { Coinbase string `json:"coinbase"` TxID string `json:"txid"` Vout uint64 `json:"vout"` ScriptSig *ScriptSig `json:"scriptSig"` Sequence uint64 `json:"sequence"` }
Vin models parts of the tx data. It is defined separately since getrawtransaction, decoderawtransaction, and searchrawtransaction use the same structure.
type Vout ¶
type Vout struct { Value float64 `json:"value"` N uint64 `json:"n"` ScriptPubKey ScriptPubKeyResult `json:"scriptPubKey"` }
Vout models parts of the tx data. It is defined separately since both getrawtransaction and decoderawtransaction use the same structure.