web3.js
web3.js is a JavaScript library that allows developers to interact with EVM-compatible blockchain networks.
You can use web3.js to interact with smart contracts deployed on the Slice network.
Install
To install web3.js run the following command:
Setup
Before you can start using web3.js, you need to import it into your project.
Add the following line of code to the top of your file to import web3.js:
const Web3 = require('web3');
Connecting to Slice
You can connect to Slice by instantiating a new web3.js Web3
object with a RPC URL of the Slice network:
const Web3 = require('web3');
const web3 = new Web3('https://testrpc.sliceledger.io/');
Accessing data
Once you have created a provider, you can use it to read data from the Slice network.
For example, you can use the getBlockNumber
method to get the latest block:
async function getLatestBlock(address) {
const latestBlock = await web3.eth.getBlockNumber();
console.log(latestBlock.toString());
}
Deploying contracts
Before you can deploy a contract to the Slice network using web3.js, you must first create an account.
You can create an account by using web3.eth.accounts
:
const privateKey = “PRIVATE_KEY”;
const account = web3.eth.accounts.privateKeyToAccount(privateKey);
Interacting with smart contracts
You can use web3.js to interact with a smart contract on Slice by instantiating a Contract
object using the ABI and address of a deployed contract:
const abi = [
… // ABI of deployed contract
];
const contractAddress = "CONTRACT_ADDRESS"
const contract = new web3.eth.Contract(abi, contractAddress);
Once you have created a Contract
object, you can use it to call desired methods on the smart contract:
async function setValue(value) {
// write query
const tx = await contract.methods.set(value).send();
console.log(tx.transactionHash);
}
async function getValue() {
// read query
const value = await contract.methods.get().call();
console.log(value.toString());
}
Last updated
Was this helpful?