Last update: October 30, 2020
web3js-eea client library
The web3js-eea library adds a property to your web3 instance by extending web3. Use the library to create and send RLP-encoded transactions using JSON-RPC.
Note
web3js-eea supports JSON-RPC over HTTP only.
Prerequisites
Add web3js-eea to project
npm install web3-eea
Initialize EEA client
Initialize your EEA client where:
<JSON-RPC HTTP endpoint>
is the JSON-RPC HTTP endpoint of your Hyperledger Besu 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: "besuNode1PrivateKey"
};
return web3.eea.sendRawTransaction(contractOptions);
web3.eea.sendRawTransaction(contractOptions)
returns the transaction hash. To get the private transaction receipt, use web3.eea.getTransactionReceipt(txHash)
.
web3js-eea methods
For more information about the web3js-eea methods, see the web3js-eea reference documentation.