js-conflux-sdk
Conflux Doc
  • Home
  • Introduction
  • QuickStart
  • Overview
  • Contrast with web3.js
  • Guides
    • Providers
    • How to Connect Fluent
    • CIP37 Address
    • Account
    • Sending Transaction
    • Interact with Contract
    • Sign methods
    • Error Handling
    • Batch RPC
  • API
    • Conflux
    • PoS
    • TxPool
    • Provider
    • Drip
    • Transaction
    • Wallet
  • Release notes
  • v2.0 Changes
  • FAQs
Powered by GitBook
On this page
  • Docs
  • Install
  • How to import
  • Nodejs
  • Frontend
  • Quick Start
  • Address conversion performance
  • SDK version relation with Conflux-rust
  • Related Projects | Tools

Was this helpful?

Edit on GitHub

Home

NextIntroduction

Last updated 8 months ago

Was this helpful?

JavaScript Conflux Software Development Kit is a complete library for interacting with the 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: , , or

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';
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);

Address conversion performance

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-sdk
conflux-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

or if your bundler supports the in package.json

For more guides and examples, please refer to the .

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

can be used to work with Conflux signTypedData

hardhat plugin that can be used to interact with Conflux Core Network Contracts

HD Wallet

browser field
jsdelivr
SDK documentation
@conflux-dev/conflux-address-rust
CIP-23
hardhat-conflux
@conflux-dev/hdwallet
Conflux Blockchain Core Space
ethers.js
viem
web3.js
js-conflux-sdk documentation
SDK API doc
Examples
Community examples
Fullnode JSONRPC API
Public RPC Provider Endpoints
Testnet faucet
Core Space Documentation
FAQs