/web3.js

PUFFScoin JavaScript API (network 420)

Primary LanguageJavaScriptOtherNOASSERTION

Web3.js logo

web3.js - PUFFScoin JavaScript API

This is the PUFFScoin JavaScript API which connects to the Generic JSON RPC spec.

You need to run a local or remote PUFFScoin node to use this library.

Please read the documentation for more.

Installation

Node

npm install web3

Yarn

yarn add web3

Meteor

meteor npm install --save web3@1.x

Usage

import Web3 from 'web3';

const web3 = new Web3('ws://localhost:11364');
console.log(web3);
> {
    puffs: ... ,
    shh: ... ,
    utils: ...,
    ...
}

Additionally you can set a provider using web3.setProvider() (e.g. WebsocketProvider)

web3.setProvider('ws://localhost:11364');
// or
web3.setProvider(new Web3.providers.WebsocketProvider('ws://localhost:11364'));

There you go, now you can use it:

web3.puffs.getAccounts()
.then(console.log);

Usage with TypeScript

We support types within the repo itself. Please open an issue here if you find any wrong types.

You can use web3.js as follows:

import Web3 from 'web3';
const web3 = new Web3("ws://localhost:11364");

If you are using the types in a commonjs module like for example a node app you just have to enable esModuleInterop in your tsconfig compile option, also enable allowSyntheticDefaultImports for typesystem compatibility:

"compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    ....

Documentation

Documentation can be found at read the docs

Requirements

Commands

npm install # install all dependencies for npm run bootstrap
npm run bootstrap # install all dependencies and symlinks the internal modules for all modules
npm run build # runs rollup
npm run test # runs all tests 
npm run clean # removes all the node_modules folders in all modules
npm run dev # runs rollup with a watcher

Support

browsers node

Similar libraries in other languages

((these will be adapted specific as necessary for development purposes along the PUFFScoin blockchain))