An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
besu/docs/Privacy/How-To/eeajs.md

64 lines
2.1 KiB

description: web3.js-eea Client Library
<!--- END of page meta data -->
# web3.js-eea Client Library
The [web3.js-eea library](https://github.com/PegaSysEng/eeajs) adds an additional property to your web3
instance by extending [web3](https://github.com/ethereum/web3.js/). Use the library to create and send
RLP-encoded transactions using JSON-RPC.
!!! note
web3.js-eea supports JSON-RPC over HTTP only.
## Prerequisites
- [Node.js (version > 10)](https://nodejs.org/en/download/)
## Add web3.js-eea to Project
```bash
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`](../../Reference/Pantheon-CLI-Syntax.md#rpc-http-host) and [`--rpc-http-port`](../../Reference/Pantheon-CLI-Syntax.md#rpc-http-port)
command line options.
* `<chain_id>` is the [chain ID](../../Configuring-Pantheon/NetworkID-And-ChainID.md) of your network.
!!! example
```js tab="Syntax"
const EEAClient = require("web3-eea");
const web3 = new EEAClient(new Web3("<JSON-RPC HTTP endpoint>", <chain_id>);
```
```js tab="Example"
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](https://solidity.readthedocs.io/en/develop/using-the-compiler.html)
to get the contract binary.
!!! example "Deploying a Contract with sendRawTransaction"
```js
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)`.
## web3.js-eea Methods
Refer to the [web3.js-eea reference documentation](../../Reference/web3js-eea-Methods.md).