2.4.12 • Published 5 months ago

js-conflux-sdk v2.4.12

Weekly downloads
6,093
License
LGPL-3.0
Repository
github
Last release
5 months ago

js-conflux-sdk

npm npm

JavaScript Conflux Software Development Kit is a complete library for interacting with the Conflux Blockchain Core Space in both Node.js and browser environment.

Featured with:

  • Full support of Conflux Network Core Space's JSON-RPC API
  • Wallet management
  • Meta-classes create JavaScript objects from any contract ABI, including ABIv2 and Human-Readable ABI
  • Unit(CFX, Drip) conversion
  • Common utilities:
    1. Address conversion
    2. ABI/RLP encoding/decoding
    3. Crypto utilities
    4. Type conversion
  • Extensive documentation and examples

For the Conflux eSpace JS SDK, consider using one of the following robust libraries: ethers.js, viem, or web3.js

Docs

Install

Install through npm

npm install js-conflux-sdk

How to import

Nodejs

Use in Node.js script

const { Conflux } = require('js-conflux-sdk');

const conflux = new Conflux({
  url: 'https://test.confluxrpc.com',
  networkId: 1,  // Note: network is required
  logger: console, // for debug
});

require deep nested file/dir

const util = require('js-conflux-sdk/src/util');

Frontend

umd

The front-packed package is located in js-conflux-sdk's dist folder.

import { Conflux } from 'js-conflux-sdk/dist/js-conflux-sdk.umd.min.js';

or if your bundler supports the browser field in package.json

import { Conflux } from 'js-conflux-sdk';

or

<script type="text/javascript" src="node_modules/js-conflux-sdk/dist/js-conflux-sdk.umd.min.js"></script>
<script type="text/javascript">
  const conflux = new window.TreeGraph.Conflux({
    url: 'https://test.confluxrpc.com',
    logger: console,
    networkId: 1,
  });
</script>

From v2.0 the exported root class to browser window name changed from Conflux to TreeGraph

Or you can use public CDN links:

Quick Start

After importing the package, you can use the Conflux class instance to interact with the Conflux network, such as querying the balance of an account, sending a transaction.

const { Conflux, Drip } = require('js-conflux-sdk');

const conflux = new Conflux({
  url: 'https://test.confluxrpc.com',
  networkId: 1,  // Note: network is required
  logger: console, // for debug
});

const exampleAddress = 'cfxtest:aar8jzybzv0fhzreav49syxnzut8s0jt1a1pdeeuwb';

async function main() {
  const balance = await conflux.cfx.getBalance(exampleAddress);
  console.log(`Balance of ${exampleAddress} is ${Drip(balance).toCFX()} CFX`);

  const account = await conflux.wallet.addPrivateKey(process.env.PRIVATE_KEY); // prepare and set your private key as environment variable

  const txHash = await conflux.cfx.sendTransaction({
    from: account.address,
    to: exampleAddress,
    value: Drip.fromCFX(1), // send 1 CFX
  });

  console.log(`Transaction hash: ${txHash}`);

  // after the transaction is executed, you can query the receipt, and the receiver should have 1 CFX more
}

main().catch(console.error);

For more guides and examples, please refer to the SDK documentation.

Address conversion performance

To gain an address conversion(hex->base32 or reverse) performance boost, you can install @conflux-dev/conflux-address-rust in your project. Which will be used to replace the purejs version and can gain a 10-100 performance boost.

Note: @conflux-dev/conflux-address-rust required a rust environment to install.

SDK version relation with Conflux-rust

How to know SDK's version

const { Conflux } = require('js-conflux-sdk');
const conflux = new Conflux({
  url: 'https://test.confluxrpc.com',
  networkId: 1,
});
console.log(conflux.version);
// 2.0.0

How to know fullnode's version

const clientVersion = await conflux.cfx.getClientVersion();
console.log(clientVersion);
// conflux-rust-2.0.0
js-conflux-sdkconflux-rust(node)
v2.4.0+v2.4.0+
v2.0.0+v2.0.0+
v1.7.0+v1.1.5+
v1.6.0+v1.1.3+
v1.5.11+v1.1.1+

Related Projects | Tools

2.4.12

5 months ago

2.4.11

7 months ago

2.4.10

9 months ago

2.4.1

1 year ago

2.4.0

1 year ago

2.4.3

1 year ago

2.4.5

12 months ago

2.4.4

1 year ago

2.4.7

11 months ago

2.4.6

12 months ago

2.4.9

10 months ago

2.4.8

10 months ago

2.3.0

2 years ago

2.1.12

2 years ago

2.1.11

2 years ago

2.1.10

2 years ago

2.1.9

3 years ago

2.1.8

3 years ago

2.0.9

3 years ago

2.0.8

3 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.4

3 years ago

2.1.3

3 years ago

2.1.6

3 years ago

2.1.5

3 years ago

2.0.3

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.1.0

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

2.0.0-beta.11

3 years ago

2.0.0-beta.15

3 years ago

2.0.0-beta.14

3 years ago

2.0.0-beta.13

3 years ago

2.0.0-beta.12

3 years ago

2.0.0-beta.9

4 years ago

2.0.0-beta.8

4 years ago

2.0.0-beta.7

4 years ago

2.0.0-beta.6

4 years ago

2.0.0-beta.5

4 years ago

2.0.0-beta.4

4 years ago

2.0.0-beta.10

4 years ago

1.7.3

4 years ago

1.7.2

4 years ago

2.0.0-beta.3

4 years ago

2.0.0-beta.2

4 years ago

2.0.0-beta.1

4 years ago

1.7.1

4 years ago

2.0.0-alpha.8

4 years ago

2.0.0-alpha.7

4 years ago

2.0.0-alpha.6

4 years ago

2.0.0-alpha.5

4 years ago

2.0.0-alpha.4

4 years ago

2.0.0-alpha.3

4 years ago

2.0.0-alpha.1

4 years ago

1.6.15

4 years ago

1.7.0

4 years ago

1.6.13

4 years ago

1.6.12

4 years ago

1.6.11

4 years ago

1.6.10

4 years ago

1.6.9

4 years ago

1.6.8

4 years ago

1.6.7

4 years ago

1.6.4

4 years ago

1.6.6

4 years ago

1.6.5

4 years ago

1.6.3

4 years ago

1.6.2

4 years ago

1.6.1

4 years ago

1.6.0

4 years ago

1.5.15

4 years ago

1.5.14

4 years ago

1.5.13

4 years ago

1.5.12

4 years ago

1.5.11

4 years ago

1.5.10

4 years ago

1.5.9

4 years ago

1.5.8

4 years ago

1.5.7

4 years ago

1.5.6

4 years ago

1.5.5

4 years ago

1.5.4

4 years ago

1.5.3

4 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

1.0.0-beta.3

5 years ago

1.0.0-beta.2

5 years ago

1.0.0-beta.1

5 years ago

0.13.6

5 years ago

1.0.0-beta.0

5 years ago

0.13.5

5 years ago

1.0.0-alpha.4

5 years ago

1.0.0-alpha.3

5 years ago

1.0.0-alpha.2

5 years ago

1.0.0-alpha.1

5 years ago

0.13.4

5 years ago

0.13.3

5 years ago

0.13.2

5 years ago

0.13.1

5 years ago

0.13.0

5 years ago

0.12.0

5 years ago

0.11.0

5 years ago

0.10.2

5 years ago

0.10.3

5 years ago

0.10.1

5 years ago

0.10.0-alpha

5 years ago

0.9.2

5 years ago

0.9.1

5 years ago

0.9.0-beta

5 years ago

0.9.0-alpha

5 years ago

0.8.0

5 years ago

0.8.0-alpha

5 years ago

0.7.5

5 years ago

0.7.4

5 years ago

0.7.3

5 years ago

0.7.3-beta

5 years ago

0.7.3-alpha

5 years ago

0.7.2

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.2

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.6.0-alpha

5 years ago

0.5.1

5 years ago

0.5.0

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.4.0-beta

5 years ago

0.4.0-alpha

5 years ago

0.3.3-alpha

5 years ago

0.3.2

5 years ago

0.3.2-alpha

5 years ago

0.3.1

5 years ago