App Ids
are core to the dev experience on Avail DA, and we highly recommend you understand how they work before you start working with them.
You can check out our docs for the same.
Create a new App ID on Avail DA
On-chain name of extrinsic: dataAvailability_createApplicationKey
Parameters
parameter | type | optional | description |
---|---|---|---|
key | string | false | name of the application key |
waitFor | WaitFor | false | wait for block inclusion or finalization |
account | KeyringPair | false | account that will send and sign the transaction |
options | SignerOptions | true | used to overwrite existing signer options |
Returns
On failure, a reason of failure is returned. On Success, ApplicationKeyCreated event, transaction hash and block hash is returned.
Minimal Example
-
You will need to set up the dev enviornment required to run this example. For instructions, check out our docs here.
-
If you're sending an extrinsic (i.e conducting a transaction) you will need to replace the demo seed phrase with your own seed phrase. The rest of the code should work as is.
- Inside
your-file-name.ts
, add the following code:
avail-js
import { Keyring } from "@polkadot/api"
import { SDK } from "avail-js-sdk"
import { WaitFor } from "avail-js-sdk/sdk/transactions"
const main = async () => {
const providerEndpoint = "wss://turing-rpc.avail.so/ws";
const sdk = await SDK.New(providerEndpoint)
const Alice = 'This is a random seed phrase please do not use it';
const account = new Keyring({ type: "sr25519" }).addFromUri(Alice)
const key = "MyAwesomeKey"
const result = await sdk.tx.dataAvailability.createApplicationKey(key, WaitFor.BlockInclusion, account)
if (result.isErr) {
console.log(result.reason)
process.exit(1)
}
console.log("Key=" + result.event.key + ", Owner=" + result.event.owner + ", Id=" + result.event.id)
console.log("TxHash=" + result.txHash + ", BlockHash=" + result.blockHash)
process.exit()
}
main()
- Run the code using:
ts-node your-file-name.ts