quorum.js is an extension for web3.js which adds support for APIs specific to Quorum.
quorum.js library will be deprecated on December 31st 2021, date from when we will stop supporting the project.
quorum.js library is deprecated and replaced by web3js-quorum that offers wider compatibility with the Quorum stack including both Besu and GoQuorum.
From now on, we encourage all users with active projects using quorum.js to migrate to web3js-quorum. Please refer to migration instructions.
We will continue to support quorum.js in particular fixing bugs until the end of 2021.
If you have any questions or concerns, please reach out to the ConsenSys protocol engineering team on #Discord or by email.
- Provide js applications with easy access to all Quorum-specific APIs (including private transaction, consensus, and permissioning APIs)
- Works with web3.js smart contract wrappers
npm install quorum-js
The Quorum-specific API methods provided by quorum.js are accessed in one of two ways:
const Web3 = require("web3");
const quorumjs = require("quorum-js");
const web3 = new Web3("http://localhost:22000");
quorumjs.extend(web3);
web3.quorum.eth.sendRawPrivateTransaction(signedTx, args);
This makes Quorum-specific API methods available through the web3.quorum
object.
Additional private transaction-specific APIs require access to a Privacy Manager:
const Web3 = require("web3");
const quorumjs = require("quorum-js");
const web3 = new Web3("http://localhost:22000");
const enclaveOptions = {
privateUrl: "http://localhost:9081" // Tessera ThirdParty server url, use ipcPath if using Constellation
};
const txnMngr = quorumjs.RawTransactionManager(web3, enclaveOptions);
txnMngr.sendRawTransaction(args);
For full usage and API details see the documentation.
The 7nodes-test directory contains examples of quorum.js usage. These scripts can be tested with a running 7nodes test network.
Stuck at some step? Please join our slack community for support.