lbrycrd

package
v3.0.1-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2022 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LbrycrdMain    = "lbrycrd_main"
	LbrycrdTestnet = "lbrycrd_testnet"
	LbrycrdRegtest = "lbrycrd_regtest"
)
View Source
const DefaultPort = 9245

Variables

View Source
var ChainParamsMap = map[string]chaincfg.Params{LbrycrdMain: mainNetParams, LbrycrdTestnet: testNetParams, LbrycrdRegtest: regTestNetParams}
View Source
var GenesisHash = chainhash.Hash([chainhash.HashSize]byte{
	0x9c, 0x89, 0x28, 0x3b, 0xa0, 0xf3, 0x22, 0x7f,
	0x6c, 0x03, 0xb7, 0x02, 0x16, 0xb9, 0xf6, 0x65,
	0xf0, 0x11, 0x8d, 0x5e, 0x0f, 0xa7, 0x29, 0xce,
	0xdf, 0x4f, 0xb3, 0x4d, 0x6a, 0x34, 0xf4, 0x63,
})
View Source
var MainNetParams = chaincfg.Params{
	PubKeyHashAddrID: 0x55,
	ScriptHashAddrID: 0x7a,
	PrivateKeyID:     0x1c,
	Bech32HRPSegwit:  "lbc",

	GenesisHash:   &GenesisHash,
	Name:          "mainnet",
	Net:           wire.BitcoinNet(0xfae4aaf1),
	DefaultPort:   "9246",
	BIP0034Height: 1,
	BIP0065Height: 200000,
	BIP0066Height: 200000,
}

MainNetParams define the lbrycrd network. See https://github.com/lbryio/lbrycrd/blob/master/src/chainparams.cpp

Functions

func ClaimIDFromOutpoint

func ClaimIDFromOutpoint(txid string, nout int) (string, error)

func DecodeAddress

func DecodeAddress(addr string, defaultNet *chaincfg.Params) (lbcutil.Address, error)

DecodeAddress decodes the string encoding of an address and returns the Address if addr is a valid encoding for a known address type.

The bitcoin network the address is associated with is extracted if possible. When the address does not encode the network, such as in the case of a raw public key, the address will be associated with the passed defaultNet.

func GetClaimNamePayoutScript

func GetClaimNamePayoutScript(name string, value []byte, address lbcutil.Address) ([]byte, error)

func GetClaimSupportPayoutScript

func GetClaimSupportPayoutScript(name, claimid string, address lbcutil.Address) ([]byte, error)

func GetUpdateClaimPayoutScript

func GetUpdateClaimPayoutScript(name, claimid string, value []byte, address lbcutil.Address) ([]byte, error)

func IsClaimNameScript

func IsClaimNameScript(script []byte) bool

IsClaimNameScript returns true if the script for the vout contains the OP_CLAIM_NAME code.

func IsClaimUpdateScript

func IsClaimUpdateScript(script []byte) bool

IsClaimUpdateScript returns true if the script for the vout contains the OP_CLAIM_UPDATE code.

func NewChannel

func NewChannel() (*c.Helper, *btcec.PrivateKey, error)

func NewImageStreamClaim

func NewImageStreamClaim() (*c.Helper, error)

func NewStreamClaim

func NewStreamClaim(title, description string) (*c.Helper, error)

func NewVideoStreamClaim

func NewVideoStreamClaim() (*c.Helper, error)

func ParseClaimNameScript

func ParseClaimNameScript(script []byte) (name string, value []byte, pubkeyscript []byte, err error)

ParseClaimNameScript parses a script for the claim of a name.

func ParseClaimUpdateScript

func ParseClaimUpdateScript(script []byte) (name string, claimid string, value []byte, pubkeyscript []byte, err error)

ParseClaimUpdateScript parses a script for an update of a claim.

func SignClaim

func SignClaim(rawTx *wire.MsgTx, privKey btcec.PrivateKey, claim, channel *c.Helper, channelClaimID string) error

Types

type Client

type Client struct {
	*rpcclient.Client
}

Client connects to a lbrycrd instance

func New

func New(lbrycrdURL string, chainParams string) (*Client, error)

New initializes a new Client

func NewWithDefaultURL

func NewWithDefaultURL() (*Client, error)

func (*Client) AddStakeToTx

func (c *Client) AddStakeToTx(rawTx *wire.MsgTx, claim *c.Helper, name string, claimAmount float64, scriptType ScriptType) error

func (*Client) CreateBaseRawTx

func (c *Client) CreateBaseRawTx(inputs []btcjson.TransactionInput, change float64) (*wire.MsgTx, error)

func (*Client) CreateChannel

func (c *Client) CreateChannel(name string, amount float64) (*c.Helper, *btcec.PrivateKey, error)

func (*Client) GetEmptyTx

func (c *Client) GetEmptyTx(totalOutputSpend float64) (*wire.MsgTx, error)

func (*Client) SignTxAndSend

func (c *Client) SignTxAndSend(rawTx *wire.MsgTx) (*chainhash.Hash, error)

func (*Client) SimpleSend

func (c *Client) SimpleSend(toAddress string, amount float64) (*chainhash.Hash, error)

SimpleSend is a convenience function to send credits to an address (0 min confirmations)

func (*Client) SupportClaim

func (c *Client) SupportClaim(name, claimID, address, blockchainName string, claimAmount float64) (*chainhash.Hash, error)

type ScriptType

type ScriptType int
const (
	ClaimName ScriptType = iota
	ClaimUpdate
	ClaimSupport
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL