npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

lumina-node

v0.13.2

Published

Lumina node for Celestia, running in browser

Readme

lumina-node-wasm


Lumina node wasm

A compatibility layer for the Lumina node to work within a browser environment and be operable with javascript.

Changelog

You can find about the latest changes here.

Example

Starting lumina inside a dedicated worker

import { spawnNode, Network, NodeConfig } from "lumina-node";

const node = await spawnNode();
const mainnetConfig = NodeConfig.default(Network.Mainnet);

await node.start(mainnetConfig);

await node.waitConnected();
await node.requestHeadHeader();

Manual setup

spawnNode sets up a DedicatedWorker instance and runs NodeWorker there. If you want to set things up manually you need to connect client and worker using objects that have MessagePort interface.

import { Network, NodeClient, NodeConfig, NodeWorker } from "lumina-node";

const config = NodeConfig.default(Network.Mainnet);

// client and worker accept any object with MessagePort like interface e.g. Worker
const channel = new MessageChannel();
const worker = new NodeWorker(channel.port1);

// note that this runs lumina in the current context (and doesn't create a new web-worker). Promise created with `.run()` never completes.
const worker_promise = worker.run();

// client port can be used locally or transferred like any plain MessagePort
const client = await new NodeClient(channel.port2);
await client.waitConnected();
await client.requestHeadHeader();

Rust API

For comprehensive and fully typed interface documentation, see lumina-node and celestia-types documentation on docs.rs. You can see there the exact structure of more complex types, such as ExtendedHeader. JavaScript API's goal is to provide similar interface to Rust when possible, e.g. NodeClient mirrors Node.

Classes

lumina-node-wasm


lumina-node-wasm / AbciMessageLog

Class: AbciMessageLog

ABCIMessageLog defines a structure containing an indexed tx ABCI message log.

Properties

events

events: StringEvent[]

Events contains a slice of Event objects that were emitted during some execution.

Defined in

lumina_node_wasm.d.ts:157


log

log: string

Defined in

lumina_node_wasm.d.ts:158


msg_index

msg_index: number

Defined in

lumina_node_wasm.d.ts:159

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:152


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:151

lumina-node-wasm


lumina-node-wasm / AbciQueryResponse

Class: AbciQueryResponse

Response to a tx query

Properties

code

code: ErrorCode

Response code.

Defined in

lumina_node_wasm.d.ts:179


codespace

codespace: string

Namespace for the Code.

Defined in

lumina_node_wasm.d.ts:183


height

readonly height: bigint

The block height from which data was derived.

Note that this is the height of the block containing the application's Merkle root hash, which represents the state as it was after committing the block at height - 1.

Defined in

lumina_node_wasm.d.ts:175


index

index: bigint

The index of the key in the tree.

Defined in

lumina_node_wasm.d.ts:187


info

info: string

Additional information. May be non-deterministic.

Defined in

lumina_node_wasm.d.ts:191


key

key: Uint8Array<ArrayBufferLike>

The key of the matching data.

Defined in

lumina_node_wasm.d.ts:195


log

log: string

The output of the application's logger (raw string). May be non-deterministic.

Defined in

lumina_node_wasm.d.ts:200


value

value: Uint8Array<ArrayBufferLike>

The value of the matching data.

Defined in

lumina_node_wasm.d.ts:218

Accessors

proof_ops

Get Signature

get proof_ops(): ProofOps

Serialized proof for the value data, if requested, to be verified against the AppHash for the given [Height].

Returns

ProofOps

Set Signature

set proof_ops(value): void

Serialized proof for the value data, if requested, to be verified against the AppHash for the given [Height].

Parameters

####### value

ProofOps

Returns

void

Defined in

lumina_node_wasm.d.ts:207

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:168


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:167

lumina-node-wasm


lumina-node-wasm / AccAddress

Class: AccAddress

Address of an account.

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:235


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:234


toJSON()

toJSON(): Object

  • Return copy of self without private attributes.
Returns

Object

Defined in

lumina_node_wasm.d.ts:229


toString()

toString(): string

Return stringified version of self.

Returns

string

Defined in

lumina_node_wasm.d.ts:233

lumina-node-wasm


lumina-node-wasm / AppVersion

Class: AppVersion

Version of the App

Properties

V1

readonly static V1: AppVersion

App v1

Defined in

lumina_node_wasm.d.ts:252


V2

readonly static V2: AppVersion

App v2

Defined in

lumina_node_wasm.d.ts:256


V3

readonly static V3: AppVersion

App v3

Defined in

lumina_node_wasm.d.ts:260


V4

readonly static V4: AppVersion

App v4

Defined in

lumina_node_wasm.d.ts:264


V5

readonly static V5: AppVersion

App v5

Defined in

lumina_node_wasm.d.ts:268


V6

readonly static V6: AppVersion

App v6

Defined in

lumina_node_wasm.d.ts:272


V7

readonly static V7: AppVersion

App v7

Defined in

lumina_node_wasm.d.ts:276

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:244


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:243


latest()

static latest(): AppVersion

Latest App version variant.

Returns

AppVersion

Defined in

lumina_node_wasm.d.ts:248

lumina-node-wasm


lumina-node-wasm / Attribute

Class: Attribute

Attribute defines an attribute wrapper where the key and value are strings instead of raw bytes.

Properties

key

key: string

Defined in

lumina_node_wasm.d.ts:301


value

value: string

Defined in

lumina_node_wasm.d.ts:302

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:300


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:299

lumina-node-wasm


lumina-node-wasm / AuthInfo

Class: AuthInfo

[AuthInfo] describes the fee and signer modes that are used to sign a transaction.

Properties

fee

fee: Fee

[Fee] and gas limit for the transaction.

The first signer is the primary signer and the one which pays the fee. The fee can be calculated based on the cost of evaluating the body and doing signature verification of the signers. This can be estimated via simulation.

Defined in

lumina_node_wasm.d.ts:319


signer_infos

signer_infos: SignerInfo[]

Defines the signing modes for the required signers.

The number and order of elements must match the required signers from transaction [TxBody]’s messages. The first element is the primary signer and the one which pays the [Fee].

Defined in

lumina_node_wasm.d.ts:327

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:311


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:310

lumina-node-wasm


lumina-node-wasm / Blob

Class: Blob

Arbitrary data that can be stored in the network within certain [Namespace].

Constructors

new Blob()

new Blob(namespace, data, app_version): Blob

Create a new blob with the given data within the [Namespace].

Parameters
namespace

Namespace

data

Uint8Array<ArrayBufferLike>

app_version

AppVersion

Returns

Blob

Defined in

lumina_node_wasm.d.ts:351

Properties

commitment

commitment: Commitment

A [Commitment] computed from the Blobs data.

Defined in

lumina_node_wasm.d.ts:355


data

data: Uint8Array<ArrayBufferLike>

Data stored within the Blob.

Defined in

lumina_node_wasm.d.ts:359


namespace

namespace: Namespace

A [Namespace] the Blob belongs to.

Defined in

lumina_node_wasm.d.ts:371


share_version

share_version: number

Version indicating the format in which Shares should be created from this Blob.

Defined in

lumina_node_wasm.d.ts:375

Accessors

index

Get Signature

get index(): bigint

Index of the blob's first share in the EDS. Only set for blobs retrieved from chain.

Returns

bigint

Set Signature

set index(value): void

Index of the blob's first share in the EDS. Only set for blobs retrieved from chain.

Parameters

####### value

bigint

Returns

void

Defined in

lumina_node_wasm.d.ts:363


signer

Get Signature

get signer(): AccAddress

A signer of the blob, i.e. address of the account which submitted the blob.

Must be present in share_version 1 and absent otherwise.

Returns

AccAddress

Set Signature

set signer(value): void

A signer of the blob, i.e. address of the account which submitted the blob.

Must be present in share_version 1 and absent otherwise.

Parameters

####### value

AccAddress

Returns

void

Defined in

lumina_node_wasm.d.ts:381

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:343


clone()

clone(): Blob

Clone a blob creating a new deep copy of it.

Returns

Blob

Defined in

lumina_node_wasm.d.ts:347


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:342


toJSON()

toJSON(): Object

  • Return copy of self without private attributes.
Returns

Object

Defined in

lumina_node_wasm.d.ts:337


toString()

toString(): string

Return stringified version of self.

Returns

string

Defined in

lumina_node_wasm.d.ts:341

lumina-node-wasm


lumina-node-wasm / BlobParams

Class: BlobParams

Params defines the parameters for the blob module.

Properties

gas_per_blob_byte

gas_per_blob_byte: number

Gas cost per blob byte

Defined in

lumina_node_wasm.d.ts:408


gov_max_square_size

gov_max_square_size: bigint

Max square size

Defined in

lumina_node_wasm.d.ts:412

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:404


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:403


toJSON()

toJSON(): Object

  • Return copy of self without private attributes.
Returns

Object

Defined in

lumina_node_wasm.d.ts:398


toString()

toString(): string

Return stringified version of self.

Returns

string

Defined in

lumina_node_wasm.d.ts:402

lumina-node-wasm


lumina-node-wasm / BlobsAtHeight

Class: BlobsAtHeight

List of blobs together with height they were published at

Properties

blobs

blobs: Blob[]

Published blobs

Defined in

lumina_node_wasm.d.ts:433


height

height: bigint

Height the blobs were published at

Defined in

lumina_node_wasm.d.ts:437

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:429


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:428


toJSON()

toJSON(): Object

  • Return copy of self without private attributes.
Returns

Object

Defined in

lumina_node_wasm.d.ts:423


toString()

toString(): string

Return stringified version of self.

Returns

string

Defined in

lumina_node_wasm.d.ts:427

lumina-node-wasm


lumina-node-wasm / Block

Class: Block

Blocks consist of a header, transactions, votes (the commit), and a list of evidence of malfeasance (i.e. signing conflicting votes).

This is a modified version of [tendermint::block::Block] which contains modifications that Celestia introduced.

Properties

data

data: Data

Transaction data

Defined in

lumina_node_wasm.d.ts:468


evidence

readonly evidence: Evidence[]

Evidence of malfeasance

Defined in

lumina_node_wasm.d.ts:456


header

readonly header: Header

Block header

Defined in

lumina_node_wasm.d.ts:460


lastCommit

readonly lastCommit: Commit

Last commit, should be None for the initial block.

Defined in

lumina_node_wasm.d.ts:464

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:452


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:451

lumina-node-wasm


lumina-node-wasm / BlockId

Class: BlockId

Block identifiers which contain two distinct Merkle roots of the block, as well as the number of parts in the block.

Properties

hash

hash: string

The block’s main hash is the Merkle root of all the fields in the block header.

Defined in

lumina_node_wasm.d.ts:481


part_set_header

part_set_header: PartsHeader

Parts header (if available) is used for secure gossipping of the block during consensus. It is the Merkle root of the complete serialized block cut into parts.

PartSet is used to split a byteslice of data into parts (pieces) for transmission. By splitting data into smaller parts and computing a Merkle root hash on the list, you can verify that a part is legitimately part of the complete data, and the part can be forwarded to other peers before all the parts are known. In short, it’s a fast way to propagate a large file over a gossip network.

https://github.com/tendermint/tendermint/wiki/Block-Structure#partset

PartSetHeader in protobuf is defined as never nil using the gogoproto annotations. This does not translate to Rust, but we can indicate this in the domain type.

Defined in

lumina_node_wasm.d.ts:497

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:477


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:476

lumina-node-wasm


lumina-node-wasm / BlockRange

Class: BlockRange

A range of blocks between start and end height, inclusive

Properties

end

end: bigint

Last block height in range

Defined in

lumina_node_wasm.d.ts:518


start

start: bigint

First block height in range

Defined in

lumina_node_wasm.d.ts:522

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:514


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:513


toJSON()

toJSON(): Object

  • Return copy of self without private attributes.
Returns

Object

Defined in

lumina_node_wasm.d.ts:508


toString()

toString(): string

Return stringified version of self.

Returns

string

Defined in

lumina_node_wasm.d.ts:512

lumina-node-wasm


lumina-node-wasm / BroadcastMode

Class: BroadcastMode

BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC method.

Properties

Async

readonly static Async: BroadcastMode

BroadcastMode Async defines a tx broadcasting mode where the client returns immediately.

Defined in

lumina_node_wasm.d.ts:536


Block

readonly static Block: BroadcastMode

DEPRECATED: use BroadcastMode Sync instead, BroadcastMode Block is not supported by the SDK from v0.47.x onwards.

Defined in

lumina_node_wasm.d.ts:541


Sync

readonly static Sync: BroadcastMode

BroadcastMode Sync defines a tx broadcasting mode where the client waits for a CheckTx execution response only.

Defined in

lumina_node_wasm.d.ts:546


Unspecified

readonly static Unspecified: BroadcastMode

zero-value for mode ordering

Defined in

lumina_node_wasm.d.ts:550

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:531


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:530

lumina-node-wasm


lumina-node-wasm / Coin

Class: Coin

Coin defines a token with a denomination and an amount.

Properties

amount

amount: bigint

Defined in

lumina_node_wasm.d.ts:33


denom

denom: string

Defined in

lumina_node_wasm.d.ts:32

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:559


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:558

lumina-node-wasm


lumina-node-wasm / Commit

Class: Commit

Commit contains the justification (ie. a set of signatures) that a block was committed by a set of validators.

Properties

block_id

block_id: BlockId

Block ID

Defined in

lumina_node_wasm.d.ts:573


height

height: bigint

Block height

Defined in

lumina_node_wasm.d.ts:577


round

round: number

Round

Defined in

lumina_node_wasm.d.ts:581


signatures

signatures: CommitSig[]

Signatures

Defined in

lumina_node_wasm.d.ts:585

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:569


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:568

lumina-node-wasm


lumina-node-wasm / CommitSig

Class: CommitSig

CommitSig represents a signature of a validator. It’s a part of the Commit and can be used to reconstruct the vote set given the validator set.

Properties

vote_type

vote_type: CommitVoteType

vote type of a validator

Defined in

lumina_node_wasm.d.ts:599

Accessors

vote

Get Signature

get vote(): CommitVote

vote, if received

Returns

CommitVote

Set Signature

set vote(value): void

vote, if received

Parameters

####### value

CommitVote

Returns

void

Defined in

lumina_node_wasm.d.ts:603

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:595


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:594

lumina-node-wasm


lumina-node-wasm / CommitVote

Class: CommitVote

Value of the validator vote

Properties

timestamp

timestamp: string

Timestamp

Defined in

lumina_node_wasm.d.ts:628


validator_address

validator_address: string

Address of the voting validator

Defined in

lumina_node_wasm.d.ts:632

Accessors

signature

Get Signature

get signature(): Signature

Signature

Returns

Signature

Set Signature

set signature(value): void

Signature

Parameters

####### value

Signature

Returns

void

Defined in

lumina_node_wasm.d.ts:620

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:616


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:615

lumina-node-wasm


lumina-node-wasm / Commitment

Class: Commitment

A merkle hash used to identify the Blobs data.

In Celestia network, the transaction which pays for the blob's inclusion is separated from the data itself. The reason for that is to allow verifying the blockchain's state without the need to pull the actual data which got stored. To achieve that, the MsgPayForBlobs transaction only includes the [Commitment]s of the blobs it is paying for, not the data itself.

The algorithm of computing the [Commitment] of the Blob's Shares is designed in a way to allow easy and cheap proving of the Shares inclusion in the block. It is computed as a merkle hash of all the Nmt subtree roots created from the blob shares included in the ExtendedDataSquare rows. Assuming the s1 and s2 are the only shares of some blob posted to the celestia, they'll result in a single subtree root as shown below:

NMT:           row root
               /     \
             o   subtree root
            / \      / \
          _________________
EDS row: | s | s | s1 | s2 |

Using subtree roots as a base for [Commitment] computation allows for much smaller inclusion proofs than when the Shares would be used directly, but it imposes some constraints on how the Blobs can be placed in the ExtendedDataSquare. You can read more about that in the share commitment rules.

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:699


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:698


hash()

hash(): Uint8Array<ArrayBufferLike>

Hash of the commitment

Returns

Uint8Array<ArrayBufferLike>

Defined in

lumina_node_wasm.d.ts:703


toJSON()

toJSON(): Object

  • Return copy of self without private attributes.
Returns

Object

Defined in

lumina_node_wasm.d.ts:693


toString()

toString(): string

Return stringified version of self.

Returns

string

Defined in

lumina_node_wasm.d.ts:697

lumina-node-wasm


lumina-node-wasm / ConfigResponse

Class: ConfigResponse

Response holding consensus node configuration.

Properties

halt_height

halt_height: bigint

A height at which the node should stop advancing state.

Defined in

lumina_node_wasm.d.ts:716


pruning_interval

pruning_interval: bigint

Amount of blocks used as an interval to trigger prunning.

Defined in

lumina_node_wasm.d.ts:728


pruning_keep_recent

pruning_keep_recent: bigint

How many recent blocks are stored by the node.

Defined in

lumina_node_wasm.d.ts:732

Accessors

minimum_gas_price

Get Signature

get minimum_gas_price(): number

Minimum gas price for the node to accept tx. Value is in utia denom.

Returns

number

Set Signature

set minimum_gas_price(value): void

Minimum gas price for the node to accept tx. Value is in utia denom.

Parameters

####### value

number

Returns

void

Defined in

lumina_node_wasm.d.ts:720

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:712


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:711

lumina-node-wasm


lumina-node-wasm / ConflictingBlock

Class: ConflictingBlock

Conflicting block detected in light client attack

Properties

signed_header

signed_header: SignedHeader

Signed header

Defined in

lumina_node_wasm.d.ts:745


validator_set

validator_set: ValidatorSet

Validator set

Defined in

lumina_node_wasm.d.ts:749

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:741


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:740

lumina-node-wasm


lumina-node-wasm / ConnectionCountersSnapshot

Class: ConnectionCountersSnapshot

Network connection information

Properties

num_connections

num_connections: number

The total number of connections, both pending and established.

Defined in

lumina_node_wasm.d.ts:770


num_established

num_established: number

The number of outgoing connections being established.

Defined in

lumina_node_wasm.d.ts:782


num_established_incoming

num_established_incoming: number

The number of established incoming connections.

Defined in

lumina_node_wasm.d.ts:774


num_established_outgoing

num_established_outgoing: number

The number of established outgoing connections.

Defined in

lumina_node_wasm.d.ts:778


num_pending

num_pending: number

The total number of pending connections, both incoming and outgoing.

Defined in

lumina_node_wasm.d.ts:794


num_pending_incoming

num_pending_incoming: number

The total number of pending connections, both incoming and outgoing.

Defined in

lumina_node_wasm.d.ts:786


num_pending_outgoing

num_pending_outgoing: number

The number of outgoing connections being established.

Defined in

lumina_node_wasm.d.ts:790

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:766


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:765


toJSON()

toJSON(): Object

  • Return copy of self without private attributes.
Returns

Object

Defined in

lumina_node_wasm.d.ts:760


toString()

toString(): string

Return stringified version of self.

Returns

string

Defined in

lumina_node_wasm.d.ts:764

lumina-node-wasm


lumina-node-wasm / ConsAddress

Class: ConsAddress

Address of a consensus node.

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:811


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:810


toJSON()

toJSON(): Object

  • Return copy of self without private attributes.
Returns

Object

Defined in

lumina_node_wasm.d.ts:805


toString()

toString(): string

Return stringified version of self.

Returns

string

Defined in

lumina_node_wasm.d.ts:809

lumina-node-wasm


lumina-node-wasm / Data

Class: Data

Data contained in a Block.

Properties

hash

hash: Uint8Array<ArrayBufferLike>

Hash is the root of a binary Merkle tree where the leaves of the tree are the row and column roots of an extended data square. Hash is often referred to as the "data root".

Defined in

lumina_node_wasm.d.ts:832


square_size

square_size: bigint

Square width of original data square.

Defined in

lumina_node_wasm.d.ts:836


transactions

readonly transactions: Uint8Array<ArrayBufferLike>[]

Transactions

Defined in

lumina_node_wasm.d.ts:826

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:822


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:821

lumina-node-wasm


lumina-node-wasm / DataAvailabilityHeader

Class: DataAvailabilityHeader

Header with commitments of the data availability.

It consists of the root hashes of the merkle trees created from each row and column of the ExtendedDataSquare. Those are used to prove the inclusion of the data in a block.

The hash of this header is a hash of all rows and columns and thus a data commitment of the block.

Example

## use celestia_types::{ExtendedHeader, Height, Share};
## use celestia_types::nmt::{Namespace, NamespaceProof};
## fn extended_header() -> ExtendedHeader {
##     unimplemented!();
## }
## fn shares_with_proof(_: u64, _: &Namespace) -> (Vec<Share>, NamespaceProof) {
##     unimplemented!();
## }
// fetch the block header and data for your namespace
let namespace = Namespace::new_v0(&[1, 2, 3, 4]).unwrap();
let eh = extended_header();
let (shares, proof) = shares_with_proof(eh.height(), &namespace);

// get the data commitment for a given row
let dah = eh.dah;
let root = dah.row_root(0).unwrap();

// verify a proof of the inclusion of the shares
assert!(proof.verify_complete_namespace(&root, &shares, *namespace).is_ok());

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:886


columnRoot()

columnRoot(column): any

Get the a root of the column with the given index.

Parameters
column

number

Returns

any

Defined in

lumina_node_wasm.d.ts:890


columnRoots()

columnRoots(): any[]

Merkle roots of the ExtendedDataSquare columns.

Returns

any[]

Defined in

lumina_node_wasm.d.ts:894


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:885


hash()

hash(): any

Compute the combined hash of all rows and columns.

This is the data commitment for the block.

Returns

any

Defined in

lumina_node_wasm.d.ts:900


rowRoot()

rowRoot(row): any

Get a root of the row with the given index.

Parameters
row

number

Returns

any

Defined in

lumina_node_wasm.d.ts:904


rowRoots()

rowRoots(): any[]

Merkle roots of the ExtendedDataSquare rows.

Returns

any[]

Defined in

lumina_node_wasm.d.ts:908


squareWidth()

squareWidth(): number

Get the size of the ExtendedDataSquare for which this header was built.

Returns

number

Defined in

lumina_node_wasm.d.ts:912


toJSON()

toJSON(): Object

  • Return copy of self without private attributes.
Returns

Object

Defined in

lumina_node_wasm.d.ts:880


toString()

toString(): string

Return stringified version of self.

Returns

string

Defined in

lumina_node_wasm.d.ts:884

lumina-node-wasm


lumina-node-wasm / DuplicateVoteEvidence

Class: DuplicateVoteEvidence

Duplicate vote evidence

Properties

timestamp

timestamp: string

Timestamp

Defined in

lumina_node_wasm.d.ts:925


total_voting_power

total_voting_power: bigint

Total voting power

Defined in

lumina_node_wasm.d.ts:929


validator_power

validator_power: bigint

Validator power

Defined in

lumina_node_wasm.d.ts:933


vote_a

vote_a: Vote

Vote A

Defined in

lumina_node_wasm.d.ts:937


vote_b

vote_b: Vote

Vote B

Defined in

lumina_node_wasm.d.ts:941

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:921


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:920

lumina-node-wasm


lumina-node-wasm / Endpoint

Class: Endpoint

A URL endpoint paired with its configuration.

Use this with withUrl/withUrls to configure endpoints with different settings.

Example

const primary = new Endpoint(
  "http://primary:9090"
);
primary = primary.withMetadata("auth", "token1");
const fallback = new Endpoint(
  "http://fallback:9090"
);
fallback = fallback.withTimeout(10000);

const client = await GrpcClient
  .withUrls([primary, fallback])
  .build();

Constructors

new Endpoint()

new Endpoint(url): Endpoint

Create a new endpoint with a URL.

Parameters
url

string

Returns

Endpoint

Defined in

lumina_node_wasm.d.ts:972

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:968


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:967


withMetadata()

withMetadata(key, value): Endpoint

Appends ASCII metadata (HTTP/2 header) to requests made to this endpoint.

Note that this method consumes the endpoint and returns an updated instance.

Parameters
key

string

value

string

Returns

Endpoint

Defined in

lumina_node_wasm.d.ts:978


withMetadataBin()

withMetadataBin(key, value): Endpoint

Appends binary metadata to requests made to this endpoint.

Keys must have -bin suffix.

Note that this method consumes the endpoint and returns an updated instance.

Parameters
key

string

value

Uint8Array<ArrayBufferLike>

Returns

Endpoint

Defined in

lumina_node_wasm.d.ts:986


withTimeout()

withTimeout(timeout_ms): Endpoint

Sets the request timeout in milliseconds for this endpoint.

Note that this method consumes the endpoint and returns an updated instance.

Parameters
timeout_ms

bigint

Returns

Endpoint

Defined in

lumina_node_wasm.d.ts:992

lumina-node-wasm


lumina-node-wasm / Evidence

Class: Evidence

Evidence of malfeasance by validators (i.e. signing conflicting votes or light client attack).

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1293


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1292

lumina-node-wasm


lumina-node-wasm / ExtendedHeader

Class: ExtendedHeader

Block header together with the relevant Data Availability metadata.

[ExtendedHeader]s are used to announce and describe the blocks in the Celestia network.

Before being used, each header should be validated and verified with a header you trust.

Example

## use celestia_types::ExtendedHeader;
## fn trusted_genesis_header() -> ExtendedHeader {
##     let s = include_str!("../test_data/chain1/extended_header_block_1.json");
##     serde_json::from_str(s).unwrap()
## }
## fn some_untrusted_header() -> ExtendedHeader {
##     let s = include_str!("../test_data/chain1/extended_header_block_27.json");
##     serde_json::from_str(s).unwrap()
## }
let genesis_header = trusted_genesis_header();

// fetch new header
let fetched_header = some_untrusted_header();

fetched_header.validate().expect("Invalid block header");
genesis_header.verify(&fetched_header).expect("Malicious header received");

Properties

commit

readonly commit: any

Commit metadata and signatures from validators committing the block.

Defined in

lumina_node_wasm.d.ts:1418


dah

dah: DataAvailabilityHeader

Header of the block data availability.

Defined in

lumina_node_wasm.d.ts:1430


header

readonly header: any

Tendermint block header.

Defined in

lumina_node_wasm.d.ts:1422


validatorSet

readonly validatorSet: any

Information about the set of validators commiting the block.

Defined in

lumina_node_wasm.d.ts:1426

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1336


clone()

clone(): ExtendedHeader

Clone a header producing a deep copy of it.

Returns

ExtendedHeader

Defined in

lumina_node_wasm.d.ts:1340


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1335


hash()

hash(): string

Get the block hash.

Returns

string

Defined in

lumina_node_wasm.d.ts:1344


height()

height(): bigint

Get the block height.

Returns

bigint

Defined in

lumina_node_wasm.d.ts:1348


previousHeaderHash()

previousHeaderHash(): string

Get the hash of the previous header.

Returns

string

Defined in

lumina_node_wasm.d.ts:1352


time()

time(): number

Get the block time.

Returns

number

Defined in

lumina_node_wasm.d.ts:1356


toJSON()

toJSON(): Object

  • Return copy of self without private attributes.
Returns

Object

Defined in

lumina_node_wasm.d.ts:1330


toString()

toString(): string

Return stringified version of self.

Returns

string

Defined in

lumina_node_wasm.d.ts:1334


validate()

validate(): void

Decode protobuf encoded header and then validate it.

Returns

void

Defined in

lumina_node_wasm.d.ts:1360


verify()

verify(untrusted): void

Verify a chain of adjacent untrusted headers and make sure they are adjacent to self.

Errors

If verification fails, this function will return an error with a reason of failure. This function will also return an error if untrusted headers and self don't form contiguous range

Parameters
untrusted

ExtendedHeader

Returns

void

Defined in

lumina_node_wasm.d.ts:1370


verifyAdjacentRange()

verifyAdjacentRange(untrusted): void

Verify a chain of adjacent untrusted headers and make sure they are adjacent to self.

Note

Provided headers will be consumed by this method, meaning they will no longer be accessible. If this behavior is not desired, consider using ExtendedHeader.clone().

const genesis = hdr0;
const headers = [hrd1, hdr2, hdr3];
genesis.verifyAdjacentRange(headers.map(h => h.clone()));

Errors

If verification fails, this function will return an error with a reason of failure. This function will also return an error if untrusted headers and self don't form contiguous range

Parameters
untrusted

ExtendedHeader[]

Returns

void

Defined in

lumina_node_wasm.d.ts:1392


verifyRange()

verifyRange(untrusted): void

Verify a chain of adjacent untrusted headers.

Note

Provided headers will be consumed by this method, meaning they will no longer be accessible. If this behavior is not desired, consider using ExtendedHeader.clone().

const genesis = hdr0;
const headers = [hrd1, hdr2, hdr3];
genesis.verifyRange(headers.map(h => h.clone()));

Errors

If verification fails, this function will return an error with a reason of failure. This function will also return an error if untrusted headers are not adjacent to each other.

Parameters
untrusted

ExtendedHeader[]

Returns

void

Defined in

lumina_node_wasm.d.ts:1414

lumina-node-wasm


lumina-node-wasm / Fee

Class: Fee

Fee includes the amount of coins paid in fees and the maximum gas to be used by the transaction. The ratio yields an effective "gasprice", which must be above some miminum to be accepted into the mempool.

Properties

amount

amount: Coin[]

amount is the amount of coins to be paid as a fee

Defined in

lumina_node_wasm.d.ts:1457


gas_limit

gas_limit: bigint

gas_limit is the maximum gas that can be used in transaction processing before an out of gas error occurs

Defined in

lumina_node_wasm.d.ts:1462


granter

readonly granter: string

if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used to pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does not support fee grants, this will fail

Defined in

lumina_node_wasm.d.ts:1447


payer

readonly payer: string

if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees. the payer must be a tx signer (and thus have signed this field in AuthInfo). setting this field does not change the ordering of required signers for the transaction.

Defined in

lumina_node_wasm.d.ts:1453

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1441


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1440

lumina-node-wasm


lumina-node-wasm / GasEstimate

Class: GasEstimate

Result of gas price and usage estimation

Properties

price

price: number

Gas price estimated based on last 5 blocks

Defined in

lumina_node_wasm.d.ts:1475


usage

usage: bigint

Simulated transaction gas usage

Defined in

lumina_node_wasm.d.ts:1479

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1471


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1470

lumina-node-wasm


lumina-node-wasm / GasInfo

Class: GasInfo

GasInfo defines tx execution gas context.

Properties

gas_used

gas_used: bigint

GasUsed is the amount of gas actually consumed.

Defined in

lumina_node_wasm.d.ts:1492


gas_wanted

gas_wanted: bigint

GasWanted is the maximum units of work we allow this tx to perform.

Defined in

lumina_node_wasm.d.ts:1496

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1488


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1487

lumina-node-wasm


lumina-node-wasm / GetTxResponse

Class: GetTxResponse

Response to GetTx

Properties

tx

tx: Tx

Response Transaction

Defined in

lumina_node_wasm.d.ts:1513


tx_response

tx_response: TxResponse

TxResponse to a Query

Defined in

lumina_node_wasm.d.ts:1509

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1505


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1504

lumina-node-wasm


lumina-node-wasm / GrpcClient

Class: GrpcClient

Celestia gRPC client, for builder see [GrpcClientBuilder]

Properties

appVersion

readonly appVersion: Promise<AppVersion>

AppVersion of the client

Defined in

lumina_node_wasm.d.ts:1749


chainId

readonly chainId: Promise<string>

Chain id of the client

Defined in

lumina_node_wasm.d.ts:1753

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1522


abciQuery()

abciQuery(data, path, height, prove): Promise<AbciQueryResponse>

Issue a direct ABCI query to the application

Parameters
data

Uint8Array<ArrayBufferLike>

path

string

height

bigint

prove

boolean

Returns

Promise<AbciQueryResponse>

Defined in

lumina_node_wasm.d.ts:1526


broadcastBlobs()

broadcastBlobs(blobs, tx_config?): Promise<BroadcastedTx>

Broadcast blobs to the celestia network, and return without confirming.

Example

const ns = Namespace.newV0(new Uint8Array([97, 98, 99]));
const data = new Uint8Array([100, 97, 116, 97]);
const blob = new Blob(ns, data, AppVersion.latest());

const broadcastedTx = await txClient.broadcastBlobs([blob]);
console.log("Tx hash:", broadcastedTx.hash);
const txInfo = await txClient.confirmTx(broadcastedTx);

Note

Provided blobs will be consumed by this method, meaning they will no longer be accessible. If this behavior is not desired, consider using Blob.clone().

const blobs = [blob1, blob2, blob3];
await txClient.broadcastBlobs(blobs.map(b => b.clone()));
Parameters
blobs

Blob[]

tx_config?

TxConfig

Returns

Promise<BroadcastedTx>

Defined in

lumina_node_wasm.d.ts:1552


broadcastMessage()

broadcastMessage(message, tx_config?): Promise<BroadcastedTx>

Broadcast message to the celestia network, and return without confirming.

Example

import { Registry } from "@cosmjs/proto-signing";

const registry = new Registry();
const sendMsg = {
  typeUrl: "/cosmos.bank.v1beta1.MsgSend",
  value: {
    fromAddress: "celestia169s50psyj2f4la9a2235329xz7rk6c53zhw9mm",
    toAddress: "celestia1t52q7uqgnjfzdh3wx5m5phvma3umrq8k6tq2p9",
    amount: [{ denom: "utia", amount: "10000" }],
  },
};
const sendMsgAny = registry.encodeAsAny(sendMsg);

const broadcastedTx = await txClient.broadcastMessage(sendMsgAny);
console.log("Tx hash:", broadcastedTx.hash);
const txInfo = await txClient.confirmTx(broadcastedTx);
Parameters
message

ProtoAny

tx_config?

TxConfig

Returns

Promise<BroadcastedTx>

Defined in

lumina_node_wasm.d.ts:1576


broadcastTx()

broadcastTx(tx_bytes, mode): Promise<TxResponse>

Broadcast prepared and serialised transaction

Parameters
tx_bytes

Uint8Array<ArrayBufferLike>

mode

BroadcastMode

Returns

Promise<TxResponse>

Defined in

lumina_node_wasm.d.ts:1580


confirmTx()

confirmTx(broadcasted_tx, tx_config?): Promise<TxInfo>

Confirm transaction broadcasted with [broadcast_blobs] or [broadcast_message].

Example

const ns = Namespace.newV0(new Uint8Array([97, 98, 99]));
const data = new Uint8Array([100, 97, 116, 97]);
const blob = new Blob(ns, data, AppVersion.latest());

const broadcastedTx = await txClient.broadcastBlobs([blob]);
console.log("Tx hash:", broadcastedTx.hash);
const txInfo = await txClient.confirmTx(broadcastedTx);
console.log("Confirmed at height:", txInfo.height);
Parameters
broadcasted_tx

BroadcastedTx

tx_config?

TxConfig

Returns

Promise<TxInfo>

Defined in

lumina_node_wasm.d.ts:1596


estimateGasPrice()

estimateGasPrice(priority): Promise<number>

Estimate gas price for given transaction priority based on the gas prices of the transactions in the last five blocks.

If no transaction is found in the last five blocks, return the network min gas price.

Parameters
priority

TxPriority

Returns

Promise<number>

Defined in

lumina_node_wasm.d.ts:1604


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1521


get_node_config()

get_node_config(): Promise<ConfigResponse>

Get node configuration

Returns

Promise<ConfigResponse>

Defined in

lumina_node_wasm.d.ts:1663


getAccount()

getAccount(account): Promise<BaseAccount>

Get account

Parameters
account

string

Returns

Promise<BaseAccount>

Defined in

lumina_node_wasm.d.ts:1608


getAccounts()

getAccounts(): Promise<BaseAccount[]>

Get accounts

Returns

Promise<BaseAccount[]>

Defined in

lumina_node_wasm.d.ts:1612


getAllBalances()

getAllBalances(address): Promise<Coin[]>

Get balance of all coins

Parameters
address

string

Returns

Promise<Coin[]>

Defined in

lumina_node_wasm.d.ts:1616


getAuthParams()

getAuthParams(): Promise<AuthParams>

Get auth params

Returns

Promise<AuthParams>

Defined in

lumina_node_wasm.d.ts:1620


getBalance()

getBalance(address, denom): Promise<Coin>

Retrieves the Celestia coin balance for the given address.

Parameters
address

string

denom

string

Returns

Promise<Coin>

Defined in

lumina_node_wasm.d.ts:1624


getBlobParams()

getBlobParams(): Promise<BlobParams>

Get blob params

Returns

Promise<BlobParams>

Defined in

lumina_node_wasm.d.ts:1628


getBlockByHeight()

getBlockByHeight(height): Promise<Block>

Get block by height

Parameters
height

bigint

Returns

Promise<Block>

Defined in

lumina_node_wasm.d.ts:1632


getLatestBlock()

getLatestBlock(): Promise<Block>

Get latest block

Returns

Promise<Block>

Defined in

lumina_node_wasm.d.ts:1636


getSpendableBalances()

getSpendableBalances(address): Promise<Coin[]>

Get balance of all spendable coins

Parameters
address

string

Returns

Promise<Coin[]>

Defined in

lumina_node_wasm.d.ts:1640


getTotalSupply()

getTotalSupply(): Promise<Coin[]>

Get total supply

Returns

Promise<Coin[]>

Defined in

lumina_node_wasm.d.ts:1644


getTx()

getTx(hash): Promise<GetTxResponse>

Get Tx

Parameters
hash

string

Returns

Promise<GetTxResponse>

Defined in

lumina_node_wasm.d.ts:1648


getVerifiedBalance()

getVerifiedBalance(address, header): Promise<Coin>

Retrieves the verified Celestia coin balance for the address.

Notes

This returns the verified balance which is the one that was reported by the previous network block. In other words, if you transfer some coins, you need to wait 1 more block in order to see the new balance. If you want something more immediate then use [GrpcClient::get_balance].

Parameters
address

string

header

ExtendedHeader

Returns

Promise<Coin>

Defined in

lumina_node_wasm.d.ts:1659


simulate()

simulate(tx_bytes): Promise<GasInfo>

Simulate prepared and serialised transaction, returning simulated gas usage

Parameters
tx_bytes

Uint8Array<ArrayBufferLike>

Returns

Promise<GasInfo>

Defined in

lumina_node_wasm.d.ts:1667


submitBlobs()

submitBlobs(blobs, tx_config?): Promise<TxInfo>

Submit blobs to the celestia network.

Example

const ns = Namespace.newV0(new Uint8Array([97, 98, 99]));
const data = new Uint8Array([100, 97, 116, 97]);
const blob = new Blob(ns, data, AppVersion.latest());

const txInfo = await txClient.submitBlobs([blob]);
await txClient.submitBlobs([blob], { gasLimit: 100000n, gasPrice: 0.02, memo: "foo" });

Note

Provided blobs will be consumed by this method, meaning they will no longer be accessible. If this behavior is not desired, consider using Blob.clone().

const blobs = [blob1, blob2, blob3];
await txClient.submitBlobs(blobs.map(b => b.clone()));
Parameters
blobs

Blob[]

tx_config?

TxConfig

Returns

Promise<TxInfo>

Defined in

lumina_node_wasm.d.ts:1692


submitMessage()

submitMessage(message, tx_config?): Promise<TxInfo>

Submit message to the celestia network.

Example

import { Registry } from "@cosmjs/proto-signing";

const registry = new Registry();
const sendMsg = {
  typeUrl: "/cosmos.bank.v1beta1.MsgSend",
  value: {
    fromAddress: "celestia169s50psyj2f4la9a2235329xz7rk6c53zhw9mm",
    toAddress: "celestia1t52q7uqgnjfzdh3wx5m5phvma3umrq8k6tq2p9",
    amount: [{ denom: "utia", amount: "10000" }],
  },
};
const sendMsgAny = registry.encodeAsAny(sendMsg);

const txInfo = await txClient.submitMessage(sendMsgAny);
Parameters
message

ProtoAny

tx_config?

TxConfig

Returns

Promise<TxInfo>

Defined in

lumina_node_wasm.d.ts:1714


txStatus()

txStatus(hash): Promise<TxStatusResponse>

Get status of the transaction

Parameters
hash

string

Returns

Promise<TxStatusResponse>

Defined in

lumina_node_wasm.d.ts:1718


withUrl()

static withUrl(url): GrpcClientBuilder

Create a builder for [GrpcClient] connected to url.

Accepts a string, an Endpoint, or an array of strings/endpoints.

Example

const client = await GrpcClient.withUrl("http://localhost:18080").build();
Parameters
url

UrlsOrEndpoints

Returns

GrpcClientBuilder

Defined in

lumina_node_wasm.d.ts:1730


withUrls()

static withUrls(urls): GrpcClientBuilder

Create a builder for [GrpcClient] with multiple URL endpoints for fallback support.

Accepts a string, an Endpoint, or an array of strings/endpoints.

When multiple endpoints are configured, the client will automatically fall back to the next endpoint if a network-related error occurs.

Example

const client = await GrpcClient.withUrls(["http://primary:9090", "http://fallback:9090"]).build();
Parameters
urls

UrlsOrEndpoints

Returns

GrpcClientBuilder

Defined in

lumina_node_wasm.d.ts:1745

lumina-node-wasm


lumina-node-wasm / GrpcClientBuilder

Class: GrpcClientBuilder

Builder for [GrpcClient] and [TxClient].

Url must point to a grpc-web proxy.

Keyless client example

const client = await GrpcClient
  .withUrl("http://127.0.0.1:18080")
  .build()

// With config:
const endpoint = new Endpoint("http://127.0.0.1:18080").withTimeout(BigInt(5000));
const client = await GrpcClient
  .withUrl(endpoint)
  .build()

Transaction client examples

Example with noble/curves

import { secp256k1 } from "@noble/curves/secp256k1";

const privKey = "fdc8ac75dfa1c142dbcba77938a14dd03078052ce0b49a529dcf72a9885a3abb";
const pubKey = secp256k1.getPublicKey(privKey);

const signer = (signDoc) => {
  const bytes = protoEncodeSignDoc(signDoc);
  const sig = secp256k1.sign(bytes, privKey, { prehash: true });
  return sig.toCompactRawBytes();
};

const client = await GrpcClient
  .withUrl("http://127.0.0.1:18080")
  .withPubkeyAndSigner(pubKey, signer)
  .build();

Example with leap wallet

await window.leap.enable("mocha-4")
const keys = await window.leap.getKey("mocha-4")

const signer = (signDoc) => {
  return window.leap.signDirect("mocha-4", keys.bech32Address, signDoc, { preferNoSetFee: true })
    .then(sig => Uint8Array.from(atob(sig.signature.signature), c => c.charCodeAt(0)))
}

const client = await GrpcClient
  .withUrl("http://127.0.0.1:18080")
  .withPubkeyAndSigner(keys.pubKey, signer)
  .build()

Methods

[dispose]()

[dispose](): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1815


build()

build(): GrpcClient

build gRPC client

Returns

GrpcClient

Defined in

lumina_node_wasm.d.ts:1819


free()

free(): void

Returns

void

Defined in

lumina_node_wasm.d.ts:1814


withPubkeyAndSigner()

withPubkeyAndSigner(account_pubkey, signer_fn): GrpcClientBuilder

Add public key and signer to the client being built

Note that this method consumes builder and returns updated instance of it. Make sure to re-assign it if you keep builder in a variable.

Parameters
account_pubkey

Uint8Array<ArrayBufferLike>

signer_fn

SignerFn

Returns

GrpcClientBuilder

Defined in

lumina_node_wasm.d.ts:1826


withUrl()

withUrl(url): GrpcClientBuilder

Set the url of the grpc-web server to connect to.

Accepts a string, an Endpoint, or an array of strings/endpoints.

Note that this method consumes builder and returns updated instance of it. Make sure to re-assign it if you keep builder in a variable.

Parameters
url

UrlsOrEndpoints

Returns

GrpcClientBuilder

Defined in

lumina_node_wasm.d.ts:1835


withUrls()

withUrls(urls): GrpcClientBuilder

Add multiple URL endpoints at once for fallback support.

Accepts a string, an Endpoint, or an array of strings/endpoints.

When multiple endpoints are configured, the client will automatically fall back to the next endpoint if a network-related error occurs.

Note that this method consumes builder and returns updated instance of it. Make sure to re-assign it if you keep builder in a variable.

Parameters
urls

UrlsOrEndpoints

Returns

GrpcClientBuilder

Defined in

lumina_node_wasm.d.ts:1847

lumina-node-wasm


[lumina-