The easiest and fastest way to build on top of Ternoa Chain.
npm install ternoa-js
This package provides TypeScript types, but you will need TypeScript version 4.2 or higher to use them properly.
An API instance must be initialize using the initializeApi function in ternoa-js/blockchain before calling some SDK functions. The default chain endpoint is: DEFAULT_CHAIN_ENDPOINT = "wss://alphanet.ternoa.com"
. It can be modified by passing a new endpoint as a parameter to the initializeApi function.
Functions are organized by theme. In the example below, the import of generateSeed and getKeyringFromSeed from the subpath ternoa-js/account allows us to generate a new account and display its address.
import { generateSeed, getKeyringFromSeed } from "ternoa-js/account"
;(async () => {
const account = await generateSeed()
const keyring = await getKeyringFromSeed(account.seed)
const address = keyring.address
console.log("Your fresh public address is: ", address)
})().catch((e) => {
console.log(e)
})
Among all the features provided by the Ternoa SDK, this short snippet of code allows you to create an NFT, submit and sign it at a glance. This single line createNft function, require a few parameters : some offchainData
metadatas, a royalty
, a collectionId
if you want this NFT to belong to a collection, a boolean to define its isSoulbound
status, the keyring
to sign and submit the transaction, and a waitUntil
callback parameter, to define at which point we want to get the results of the transaction execution.
import { createNft } from "ternoa-js/nft"
import { generateSeed, getKeyringFromSeed } from "ternoa-js/account"
const createMyFirstNFT = async () => {
try {
// We initialize an API instance connected to the Alphanet chain
await initializeApi()
// Here we create, sign and submit the NFT transaction with your keyring
await createNft("My first NFT", 10, undefined, false, keyring, WaitUntil.BlockInclusion)
} catch (e) {
console.log(e)
}
}
The official SDK documentation is available: ternoa-js sdk documentation. Additional resources are available on the ternoa official documentation.
Discover our End-to-End Test dApp here to learn and test the Ternoa SDK : ternoa-js-test-dapp.
If you are looking for a quick overview about the basic-usage of the Ternoa SDK, some explications or the best-practices, and how to create your first NFT, we recommand you to look at the exemple section cookbook/basic-usage
To build a new version of the library, run:
npm run build
To generate the documentation website, run:
npm run docs
The static website will be located in the docs/ directory.
The test suites relies on testing pairs located in the testingPairs.ts file. In order to prepare those pairs, the two scripts test-setup.ts and test-teardown.ts respectively fulfilled and emptied them with CAPS. Environment variables SEED_TEST_FUNDS
and SEED_TEST_FUNDS_PUBLIC_KEY
have to be define to run the test suites.
To run the test suites, run:
npm run test
This project uses recommended ESLint and Typescript rules to ensure coding good practices.
We've setup linters and formatters to help catch errors and improve the development experience:
Husky proceeds some checks before pushing a new commit. It ensures that: the project is building, there are no linter/formatting issues and the test suites are not broken.
If you use Visual Studio Code editor we suggest you to install ESLint and Prettier extensions.
ternoa-js uses an Apache-2.0 License.
Generated using TypeDoc