KVStoreClient
@human-protocol/sdk • Docs
@human-protocol/sdk / kvstore / KVStoreClient
Class: KVStoreClient
Introduction
This client enables to perform actions on KVStore contract and obtain information from both the contracts and subgraph.
Internally, the SDK will use one network or another according to the network ID of the runner
. To use this client, it is recommended to initialize it using the static build
method.
A Signer
or a Provider
should be passed depending on the use case of this module:
Signer: when the user wants to use this model in order to send transactions caling the contract functions.
Provider: when the user wants to use this model in order to get information from the contracts or subgraph.
Installation
npm
yarn
Code example
Signer
Using private key(backend)
Using Wagmi(frontend)
Provider
Extends
Constructors
new KVStoreClient()
new KVStoreClient(
runner
,networkData
):KVStoreClient
KVStoreClient constructor
Parameters
• runner: ContractRunner
The Runner object to interact with the Ethereum network
• networkData: NetworkData
Returns
Overrides
Source
Properties
contract
private
contract:KVStore
Source
networkData
networkData:
NetworkData
Inherited from
Source
runner
protected
runner:ContractRunner
Inherited from
Source
Methods
get()
get(
address
,key
):Promise
<string
>
Gets the value of a key-value pair in the contract.
Parameters
• address: string
Address from which to get the key value.
• key: string
Key to obtain the value.
Returns
Promise
<string
>
Value of the key.
Code example
Need to have available stake.
Source
getFileUrlAndVerifyHash()
getFileUrlAndVerifyHash(
address
,urlKey
):Promise
<string
>
Gets the URL value of the given entity, and verify its hash.
Parameters
• address: string
Address from which to get the URL value.
• urlKey: string
= 'url'
Configurable URL key. url
by default.
Returns
Promise
<string
>
URL value for the given address if exists, and the content is valid
Code example
Source
getPublicKey()
getPublicKey(
address
):Promise
<string
>
Gets the public key of the given entity, and verify its hash.
Parameters
• address: string
Address from which to get the public key.
Returns
Promise
<string
>
Public key for the given address if exists, and the content is valid
Code example
Source
set()
set(
key
,value
,txOptions
?):Promise
<void
>
This function sets a key-value pair associated with the address that submits the transaction.
Parameters
• key: string
Key of the key-value pair
• value: string
Value of the key-value pair
• txOptions?: Overrides
= {}
Additional transaction parameters (optional, defaults to an empty object).
Returns
Promise
<void
>
Returns void if successful. Throws error if any.
Code example
Need to have available stake.
Source
setBulk()
setBulk(
keys
,values
,txOptions
?):Promise
<void
>
This function sets key-value pairs in bulk associated with the address that submits the transaction.
Parameters
• keys: string
[]
Array of keys (keys and value must have the same order)
• values: string
[]
Array of values
• txOptions?: Overrides
= {}
Additional transaction parameters (optional, defaults to an empty object).
Returns
Promise
<void
>
Returns void if successful. Throws error if any.
Code example
Need to have available stake.
Source
setFileUrlAndHash()
setFileUrlAndHash(
url
,urlKey
,txOptions
?):Promise
<void
>
Sets a URL value for the address that submits the transaction, and its hash.
Parameters
• url: string
URL to set
• urlKey: string
= 'url'
Configurable URL key. url
by default.
• txOptions?: Overrides
= {}
Additional transaction parameters (optional, defaults to an empty object).
Returns
Promise
<void
>
Returns void if successful. Throws error if any.
Code example
Source
build()
static
build(runner
):Promise
<KVStoreClient
>
Creates an instance of KVStoreClient from a runner.
Parameters
• runner: ContractRunner
The Runner object to interact with the Ethereum network
Returns
Promise
<KVStoreClient
>
An instance of KVStoreClient
Throws
Thrown if the provider does not exist for the provided Signer
Throws
Thrown if the network's chainId is not supported
Source
Last updated