Skip to content
You are reading Pantheon development version documentation and some displayed features may not be available in the stable release. You can switch to stable version using the version box at screen bottom.

web3.js-eea Client Library

The web3.js-eea library adds an additional property to your web3 instance by extending web3. Use the library to create and send RLP-encoded transactions using JSON-RPC.

Note

web3.js-eea supports JSON-RPC over HTTP only.

Prerequisites

Add web3.js-eea to Project

npm install web3-eea

Initialize EEA Client

Initilize your EEA client where:

  • <JSON-RPC HTTP endpoint> is the JSON-RPC HTTP endpoint of your Pantheon node. Specified by the --rpc-http-host and --rpc-http-port command line options.
  • <chain_id> is the chain ID of your network.

Example

const EEAClient = require("web3-eea");
const web3 = new EEAClient(new Web3("<JSON-RPC HTTP endpoint>", <chain_id>);
const EEAClient = require("web3-eea");
const web3 = new EEAClient(new Web3("http://localhost:8545", 2018);

Deploying a Contract with sendRawTransaction

To deploy a private contract, you need the contract binary. You can use Solidity to get the contract binary.

Deploying a Contract with sendRawTransaction

const contractOptions = {
  data: `0x123`, // contract binary
  privateFrom: "orionNode1PublicKey",
  privateFor: ["orionNode3PublicKey"],
  privateKey: "pantheonNode1PrivateKey"
};
return web3.eea.sendRawTransaction(contractOptions);

The transaction hash is returned. To get the private transaction receipt, use web3.eea.getTransactionReceipt(txHash).

Questions or feedback? You can discuss issues and obtain free support on Pantheon Gitter channel.
For paid professional support by PegaSys, contact us at [email protected]