Thông thường khi deploy smart contract sử dụng Ethereum Remix chúng ta có thể gọi hàm trực tiếp trên Remix để kiểm tra các hàm trong smart contract. Tuy nhiên, trong vài trường hợp server không cho phép dùng trình duyệt hoặc internet thì không thể dùng Remix. Trong trường hợp này chúng ta có thể viết code đơn giản để gọi hàm trong smart contract với thư viện Web3
Khai báo thư viện
const Web3 = require('web3');
var fs=require('fs');
/* Kết nối đến ethereum node */
const etherUrl = "http://IP:Port";
var jsonFile='abi.json';// abi file
var abi=JSON.parse(fs.readFileSync(jsonFile));
let web3 = new Web3();
web3.setProvider(new web3.providers.HttpProvider(etherUrl));
var contractAddress="0xa50397154a23A8FDCF59B1326A80fa51934DcCBC";
let contractInstance = new web3.eth.Contract(abi, contractAddress);
//GET DATA
try{ contractInstance.methods.MethodName(parameter).call().then(console.log)
}
catch (error) {
return res.send(error.message);
}
Output
Blockchain Ethereum – Ví dụ về hàm Delegatecall trong solidity
Blockchain Ethereum (P4) – Kết Nối Các Node Sử Dụng Bootnode
Blockchain Ethereum (P3) – Cài Đặt Private Blockchain trên nền tảng Ethereum
Install web3 and nodejs
Sử dụng Virtual Box
Đọc sách 2021