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
BaseClient
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
BaseClient.constructor
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:38
Properties
shardId?
protected 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
BaseClient.shardId
Defined
@nilfoundation/niljs/src/clients/BaseClient.ts:26
transport
protected transport: ITransport;
The ITransport to be used in the client. See ITransport.
Inherited from
BaseClient.transport
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:397
chainId()
chainId(): Promise<number>
Returns the chain ID.
Returns
Promise
<number
>
The chain ID.
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:346
clearChainIdCache()
clearChainIdCache(): void
Returns
void
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:360
estimateGas()
estimateGas(callArgs, blockNumberOrHash): Promise<bigint>
Performs a call to the specified address.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The arguments for the call. |
|
| The number/hash of the block. |
Returns
Promise
<bigint
>
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:456
estimateGasLimit()
estimateGasLimit(): Promise<bigint>
Returns the gas limit.
Returns
Promise
<bigint
>
The gas limit.
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:334
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:216
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:59
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:88
getBlockMessageCountByHash()
getBlockMessageCountByHash(hash): Promise<number>
Returns the total number of messages 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 messages contained within the block.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
endpoint: RPC_ENDPOINT
})
const count = await client.getBlockMessageCountByHash(HASH);
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:146
getBlockMessageCountByNumber()
getBlockMessageCountByNumber(blockNumber, shardId): Promise<number>
Returns the total number of messages recorded in the block with the given number.
Parameters
Parameter | Type |
---|---|
|
|
|
|
Returns
Promise
<number
>
The number of messages contained within the block.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
endpoint: RPC_ENDPOINT
})
const count = await client.getBlockMessageCountByNumber(1);
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:122
getCode()
getCode(address, blockNumberOrHash?): Promise<Uint8Array>
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
>
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:169
getCurrencies()
getCurrencies(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:370
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:321
getMessageByHash()
getMessageByHash(hash): Promise<ProcessedMessage>
Returns the structure of the internal message with the given hash.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The hash of the message. |
Returns
Promise
<ProcessedMessage
>
The message whose information is requested.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
endpoint: RPC_ENDPOINT
})
const message = await client.getMessageByHash(HASH);
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:238
getMessageCount()
getMessageCount(address, blockNumberOrHash?): Promise<number>
Returns the transaction count of the account 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
<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.getMessageCount(ADDRESS, 'latest');
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:193
getMessageReceiptByHash()
getMessageReceiptByHash(hash): Promise<null | ProcessedReceipt>
Returns the receipt for the message with the given hash.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The hash of the message. |
Returns
Promise
<null
| ProcessedReceipt
>
The receipt whose structure is requested.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
endpoint: RPC_ENDPOINT
})
const receipt = await client.getMessageReceiptByHash(HASH, 1);
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:267
getShardId()
getShardId(): undefined | number
Returns the shard ID.
Returns
undefined
| number
The shard ID.
Inherited from
BaseClient.getShardId
Defined
@nilfoundation/niljs/src/clients/BaseClient.ts:51
request()
protected request<T>(requestObject): Promise<T>
Sends a request.
Type Parameters
Type Parameter |
---|
|
Parameters
Parameter | Type | Description |
---|---|---|
|
| The request object. It contains the request method and parameters. |
Returns
Promise
<T
>
The response.
Inherited from
BaseClient.request
Defined
@nilfoundation/niljs/src/clients/BaseClient.ts:43
sendRawMessage()
sendRawMessage(message): Promise<0x${string}>
Creates a new message or creates a contract for a previously signed message.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The encoded bytecode of the message. |
Returns
Promise
<0x${string}
>
The hash of the message.
Example
import { PublicClient } from '@nilfoundation/niljs';
const client = new PublicClient({
endpoint: RPC_ENDPOINT
})
const message = Uint8Array.from(ARRAY);
Defined
@nilfoundation/niljs/src/clients/PublicClient.ts:308
setShardId()
setShardId(shardId): void
Sets the shard ID.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The shard ID. |
Returns
void
Throws
Will throw an error if the provided shard ID is invalid.
Example
client.setShardId(1);
Inherited from
BaseClient.setShardId
Defined
@nilfoundation/niljs/src/clients/BaseClient.ts:62