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 Fee
- type FeeInfo
- type GetBlockHeaderResponse
- type GetBlockResponse
- type ScriptPubKeyResult
- type ScriptSig
- type Sources
- type Support
- type TxRawResult
- type V1Claim
- type V2Claim
- type V3Claim
- 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 float64 `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 Fee ¶
type Fee struct {
LBC *FeeInfo `json:"LBC,omitempty"`
BTC *FeeInfo `json:"BTC,omitempty"`
USD *FeeInfo `json:"USD,omitempty"`
}
Fee is the structure used for different currencies allowed for claims.
type FeeInfo ¶
type FeeInfo struct {
Amount float32 `json:"amount"` //Required
Address string `json:"address"` //Required
}
FeeInfo is the structure of fee information used by lbry.
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 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 Sources ¶
type Sources struct {
LbrySDHash string `json:"lbry_sd_hash"` //Required
BTIH string `json:"btih"` //Required
URL string `json:"url"` //Required
}
Sources is the structure of Sources that can be used for a claim. Sources mainly include lbrysdhash but could be from elsewhere in the future.
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 V1Claim ¶
type V1Claim struct {
Version string `json:"ver,omitempty"`
Title string `json:"title"` //Required
Description string `json:"description"` //Required
Author string `json:"author"` //Required
Language string `json:"language"` //Required
License string `json:"license"` //Required
Sources Sources `json:"sources"` //Required
ContentType string `json:"content-type"` //Required
Thumbnail *string `json:"thumbnail,omitempty"`
Fee *Fee `json:"fee,omitempty"`
Contact *int `json:"contact,omitempty"`
PubKey *string `json:"pubkey,omitempty"`
}
V1Claim is the first version of claim metadata used by lbry.
type V2Claim ¶
type V2Claim struct {
Version string `json:"ver"` //Required
Title string `json:"title"` //Required
Description string `json:"description"` //Required
Author string `json:"author"` //Required
Language string `json:"language"` //Required
License string `json:"license"` //Required
Sources Sources `json:"sources"` //Required
ContentType string `json:"content-type"` //Required
Thumbnail *string `json:"thumbnail,omitempty"`
Fee *Fee `json:"fee,omitempty"`
Contact *int `json:"contact,omitempty"`
PubKey *string `json:"pubkey,omitempty"`
LicenseURL *string `json:"license_url,omitempty"`
NSFW bool `json:"nsfw"` //Required
}
V2Claim is the second version of claim metadata used by lbry.
type V3Claim ¶
type V3Claim struct {
Version string `json:"ver"` //Required
Title string `json:"title"` //Required
Description string `json:"description"` //Required
Author string `json:"author"` //Required
Language string `json:"language"` //Required
License string `json:"license"` //Required
Sources Sources `json:"sources"` //Required
ContentType string `json:"content_type"` //Required
Thumbnail *string `json:"thumbnail,omitempty"`
Fee *Fee `json:"fee,omitempty"`
Contact *int `json:"contact,omitempty"`
PubKey *string `json:"pubkey,omitempty"`
LicenseURL *string `json:"license_url,omitempty"`
NSFW bool `json:"nsfw"` //Required
Sig *string `json:"sig"`
}
V3Claim is the third version of claim metadata used by lbry.
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.