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?
