Skip to content

A framework to build web3 dapps with javascript/typescript

License

Notifications You must be signed in to change notification settings

layerx-labs/dappkit

Repository files navigation

dappkit

A javascript SDK for web3 projects with curated community contracts to ease development and interactions with blockchain contracts.

Build Status GitHub issues Contributions welcome License

Installation

$ npm install @taikai/dappkit

Usage

import {ERC20} from '@taikai/dappkit';

const erc20 = new ERC20({ web3Host: process.env.WEB3_HOST_PROVIDER });

await erc20.connect(); // connect web3 by asking the user to allow the connection and interact with the chain

const tx =
  await erc20Deployer.deployJsonAbi(
    'Token Name', // the name of the token
    '$tokenSymbol', // the symbol of the token
    "1000000000000000000000000", // the total amount of the token (with 18 decimals; 1M = 1000000000000000000000000)
    "0xOwnerOfErc20Address" // the owner of the total amount of the tokens (your address)
  );

await erc20.transfer('0xYourOtherAddress', 1); // transfer 1 token from your address to other address
console.log(await erc20.balanceOf('0xYourOtherAddress')) // 1

Just want to start a connection?

import {Web3Connection} from '@taikai/dappkit';

const web3Connection = new Web3Connection({web3Host: 'https://rpc.tld'});

await web3Connection.connect();

console.log(`Address`, await web3Connection.getAddress());

Server side?

import {Web3Connection, Web3ConnectionOptions} from '@taikai/dappkit';

const web3ConnecitonOptions: Web3ConnectionOptions = {
  web3Host: 'https://rpc.tld',
  // no need to provide privateKey for read-only
  privateKey: 'your-private-key', // never share your private key
}

const web3Connection = new Web3Connection(web3ConnecitonOptions);

console.log(`Address`, await web3Connection.getAddress());

Documentation

Please refer to the test/ folder to read further usage examples of the various contracts available.

Quick start

How to Generate Documentation

You can generate the documentation locally by issuing

$ npm run docs

and then serving the docs/ folder as a root http-server.

Contribution

Contributions are welcomed, but we ask that you read existing code guidelines, specially the code format. Please review Contributor guidelines

License

ISC

Notes