Class: PublicClient
PublicClient is a class that allows for interacting with the network via the JSON-RPC API. It provides an abstraction of the connection to =nil;. PublicClient enables using API requests that do not require signing data (or otherwise using one's private key).
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
transport: new HttpTransport({
endpoint: RPC_ENDPOINT,
}),
shardId: 1,
});
Extends
Constructors
new PublicClient()
new PublicClient(config): PublicClient
Creates an instance of PublicClient.
Parameters
Parameter | Type | Description |
---|---|---|
| The config to be used in the client. See IPublicClientConfig. |
Returns
Overrides
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:43
Properties
shardId?
optional shardId: number;
The ID of the shard with which the client needs to interact. The shard with this ID will be used in every call made by the client.
Inherited from
Defined
@nilfoundation/niljs/src/clients/BaseClient.ts:26
transport
readonly transport: ITransport;
The ITransport to be used in the client. See ITransport.
Inherited from
Defined
@nilfoundation/niljs/src/clients/BaseClient.ts:18
Methods
call()
call(
callArgs,
blockNumberOrHash,
overrides?): Promise<CallRes | object>
Performs a call to the specified address.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The arguments for the call. |
|
| The number/hash of the block. |
|
| The overrides of state for the chain call. |
Returns
Promise
<CallRes
| object
>
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:394
chainId()
chainId(): Promise<number>
Returns the chain ID.
Returns
Promise
<number
>
The chain ID.
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:343
clearChainIdCache()
clearChainIdCache(): void
Returns
void
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:357
estimateGas()
estimateGas(callArgs, blockNumberOrHash): Promise<EstimateFeeResult>
Performs a call to the specified address.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The arguments for the call. |
|
| The number/hash of the block. |
Returns
Promise
<EstimateFeeResult
>
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:453
estimateGasLimit()
estimateGasLimit(): Promise<bigint>
Returns the gas limit.
Returns
Promise
<bigint
>
The gas limit.
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:331
getBalance()
getBalance(address, blockNumberOrHash?): Promise<bigint>
Returns the balance of the given address and at the given block.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The address of the account or contract. |
|
| The number/hash of the block. |
Returns
Promise
<bigint
>
The balance of the address.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
endpoint: RPC_ENDPOINT
})
const balance = await client.getBalance(ADDRESS, 'latest');
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:224
getBlockByHash()
getBlockByHash(hash, fullTx): Promise<Block<boolean>>
Returns the block with the given hash.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
|
|
| The hash of the block whose information is requested. |
|
|
| The flag that determines whether full transaction information is returned in the output. |
Returns
Promise
<Block
<boolean
>>
Information about the block with the given hash.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
transport: new HttpTransport({
endpoint: RPC_ENDPOINT,
}),
shardId: 1,
});
const block = await client.getBlockByHash(HASH);
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:64
getBlockByNumber()
getBlockByNumber(
blockNumber,
fullTx,
shardId): Promise<Block<boolean>>
Returns the block with the given number.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
|
|
| The number of the block whose information is requested. |
|
|
| The flag that determines whether full transaction information is returned in the output. |
|
|
| The ID of the shard where the block was generated. |
Returns
Promise
<Block
<boolean
>>
Returns information about a block with the given number.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
endpoint: RPC_ENDPOINT
})
const block = await client.getBlockByNumber(1);
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:95
getBlockTransactionCountByHash()
getBlockTransactionCountByHash(hash): Promise<number>
Returns the total number of transactions recorded in the block with the given hash.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The hash of the block whose information is requested. |
Returns
Promise
<number
>
The number of transactions contained within the block.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
endpoint: RPC_ENDPOINT
})
const count = await client.getBlockTransactionCountByHash(HASH);
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:156
getBlockTransactionCountByNumber()
getBlockTransactionCountByNumber(blockNumber, shardId): Promise<number>
Returns the total number of transactions recorded in the block with the given number.
Parameters
Parameter | Type |
---|---|
|
|
|
|
Returns
Promise
<number
>
The number of transactions contained within the block.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
endpoint: RPC_ENDPOINT
})
const count = await client.getBlockTransactionCountByNumber(1);
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:131
getCode()
getCode(address, blockNumberOrHash?): Promise<Uint8Array<ArrayBufferLike>>
Returns the bytecode of the contract with the given address and at the given block.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The address of the account or contract. |
|
| The number/hash of the block. |
Returns
Promise
<Uint8Array
<ArrayBufferLike
>>
The bytecode of the contract.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
endpoint: RPC_ENDPOINT
})
const code = await client.getCode(ADDRESS, 'latest');
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:177
getGasPrice()
getGasPrice(shardId): Promise<bigint>
Returns the gas price in wei.
Parameters
Parameter | Type |
---|---|
|
|
Returns
Promise
<bigint
>
The gas price.
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:318
getNumShards()
getNumShards(): Promise<number>
Returns the number of shards.
Returns
Promise
<number
>
The number of shards.
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:514
getShardId()
getShardId(): undefined | number
Returns the shard ID.
Returns
undefined
| number
The shard ID.
Inherited from
Defined
@nilfoundation/niljs/src/clients/BaseClient.ts:51
getShardIdList()
getShardIdList(): Promise<number[]>
Returns the list of shard IDs.
Returns
Promise
<number
[]>
The list of shard IDs.
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:501
getTokens()
getTokens(address, blockNumberOrHash): Promise<Record<string, bigint>>
Returns all tokens at the given address.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The address whose information is requested. |
|
| The number/hash of the block. |
Returns
Promise
<Record
<string
, bigint
>>
The list of tokens.
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:367
getTransactionByHash()
getTransactionByHash(hash): Promise<ProcessedTransaction>
Returns the structure of the internal transaction with the given hash.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The hash of the transaction. |
Returns
Promise
<ProcessedTransaction
>
The transaction whose information is requested.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
endpoint: RPC_ENDPOINT
})
const transaction = await client.getTransactionByHash(HASH);
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:246
getTransactionCount()
getTransactionCount(address, blockNumberOrHash?): Promise<number>
Returns the transaction count of the account with the given address and at the given block.