endless-ts-sdk v1.0.44
Typescript SDK for Endless
Reference Docs
- For SDK documentation, check out the TypeScript SDK documentation
- For in-depth examples, check out the examples folder with ready-made
package.json
files to get you going quickly!
The Endless TypeScript SDK provides a convenient way to interact with the Endless blockchain using TypeScript. It offers a set of utility functions, classes, and types to simplify the integration process and enhance developer productivity.
This repository supports version >= 0.0.0 of the Endless SDK npm package.
Installation
For use in Node.js or a web application
Install with your favorite package manager such as npm, yarn, or pnpm:
pnpm install endless-ts-sdk
Usage
Initialize Endless
to access the SDK API.
// initiate the main entry point into Endless SDK
const endless = new Endless();
If you want to pass in a custom config
// an optional config information for the SDK client instance.
const config = new EndlessConfig({
network: Network.LOCAL,
// If it is a mini program environment, set miniprogram to true
// miniprogram: true
}); // default network is devnet
const endless = new Endless(config);
Account management (default to Ed25519)
Note: We introduce a Single Sender authentication. Generating an account defaults to Legacy Ed25519 authentication with the option to use the Single Sender unified authentication
Generate new keys
const account = Account.generate(); // defaults to Legacy Ed25519
Derive from private key
// Create a private key instance for Ed25519 scheme
const privateKey = new Ed25519PrivateKey("myEd25519privatekeystring");
// Derive an account from private key
// This is used as a local calculation and therefore is used to instantiate an `Account`
// that has not had its authentication key rotated
const account = await Account.fromPrivateKey({ privateKey });
Derive from private key and address
// Create a private key instance for Ed25519 scheme
const privateKey = new Ed25519PrivateKey("myEd25519privatekeystring");
Derive from path
const path = "m/44'/637'/0'/0'/1";
const mnemonic = "various float stumble...";
const account = Account.fromDerivationPath({ path, mnemonic });
Submit transaction
Single Signer transaction
Using transaction submission api
const alice: Account = Account.generate();
const bobAddress = "0xb0b";
// build transaction
const transaction = await endless.transaction.build.simple({
sender: alice.accountAddress,
data: {
function: "0x1::coin::transfer",
typeArguments: ["0x1::endless_coin::EndlessCoin"],
functionArguments: [bobAddress, 100],
},
});
// using sign and submit separately
const senderAuthenticator = endless.transaction.sign({ signer: alice, transaction });
const committedTransaction = await endless.transaction.submit.simple({ transaction, senderAuthenticator });
// using signAndSubmit combined
const committedTransaction = await endless.signAndSubmitTransaction({ signer: alice, transaction });
Using built in transferCoinTransaction
const alice: Account = Account.generate();
const bobAddress = "0xb0b";
// build transaction
const transaction = await endless.transferCoinTransaction({
sender: alice,
recipient: bobAddress,
amount: 100,
});
const pendingTransaction = await endless.signAndSubmitTransaction({ signer: alice, transaction });
Troubleshooting
If you see import error when you do this
import { Endless, EndlessConfig, Network } from "endless-ts-sdk";
It could be your tsconfig.json
is not incompatible, make sure your moduleResolution
is set to node
instead of bundler
.
4 months ago
4 months ago
5 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
10 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago