bundlr

package
v0.1.200 Latest Latest
Warning

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

Go to latest
Published: May 23, 2023 License: MIT Imports: 27 Imported by: 4

Documentation

Index

Constants

View Source
const (
	// Setting this flag disables retrying request with peers
	ContextDisablePeers = value("disablePeers")

	// Forces the URL of the peer, otherwise the default one is picked
	ContextForcePeer = value("forcePeer")
)
View Source
const OWNER_LENGTH = 512
View Source
const SIGNATURE_LENGHT = 512

Arweave signature

Variables

View Source
var (
	ErrFailedToParse = errors.New("failed to parse response")
	ErrIdEmpty       = errors.New("bundle id is empty")
)

Functions

func LongTo8ByteArray

func LongTo8ByteArray(long int) []byte

func ShortTo2ByteArray

func ShortTo2ByteArray(long int) []byte

Types

type BaseClient

type BaseClient struct {
	// contains filtered or unexported fields
}

func (*BaseClient) Request

func (self *BaseClient) Request(ctx context.Context) (*resty.Request, context.CancelFunc)

func (*BaseClient) Reset

func (self *BaseClient) Reset()

func (*BaseClient) SetPeers

func (self *BaseClient) SetPeers(peers []string)

Set the list of potential peers in order they should be used Uses only peers that are proper urls

type BundleItem

type BundleItem struct {
	Signature arweave.Base64String `json:"signature"`
	Owner     arweave.Base64String `json:"owner"`  //  utils.Base64Encode(pubkey)
	Target    arweave.Base64String `json:"target"` // optional, if exist must length 32, and is base64 str
	Anchor    arweave.Base64String `json:"anchor"` // optional, if exist must length 32, and is base64 str
	Tags      Tags                 `json:"tags"`
	Data      arweave.Base64String `json:"data"`
	Id        arweave.Base64String `json:"id"`
}

func (*BundleItem) Reader

func (self *BundleItem) Reader(signer *Signer) (out *bytes.Buffer, err error)

type Client

type Client struct {
	*BaseClient
}

func NewClient

func NewClient(ctx context.Context, config *config.Bundlr) (self *Client)

func (*Client) GetStatus

func (self *Client) GetStatus(ctx context.Context, id string) (out *responses.Status, err error)

func (*Client) Upload

func (self *Client) Upload(ctx context.Context, signer *Signer, item *BundleItem) (out *responses.Upload, resp *resty.Response, err error)

type Signer

type Signer struct {
	PrivateKey *rsa.PrivateKey
	Owner      []byte
}

func NewSigner

func NewSigner(privateKeyJWK string) (self *Signer, err error)

type Tag

type Tag struct {
	Name  string `json:"name" avro:"name"`
	Value string `json:"value" avro:"value"`
}

type Tags

type Tags []Tag

func (Tags) Marshal

func (self Tags) Marshal() ([]byte, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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