工具:Truffle v4.0.4
ganache-1.1.0-beta(ui界面版)
nodejs 8.9.4
npm 5.6.0
web3 1.0.0
思路:
1、先用truffle创建一个以太坊智能合约项目,部署在ganache测试网络。
2、用npm创建另外一个项目,使用web3和智能合约交互
创建truffle项目:
1、mkdir truffle_test & cd truffle test
2、初始化:truffle init
3、编写智能合约,在contracts文件夹下新建智能合约:Data.sol:(功能:存、取一个字符串)
```javascript
pragma solidity ^0.4.17;
contract Data{
string public data;
function Data()public{
data = "init data";
}
function setData(string str) public payable{
data = str;
}
function getData() public view returns (string) {
return data;
}
}
4、编译:truffle compile
5、部署在测试网络上
(1)打开ganache
(2)修改migrations文件夹下的部署配置
var Migrations = artifacts.require("./Migrations.sol");
var Data = artifacts.require("./Data.sol");
module.exports = function(deployer) {
deployer.deploy(Migrations);
deployer.deploy(Data);
};
(3)修改truffle.js配置文件,添加连接网络信息:

本文介绍了如何使用web3.js与智能合约进行交互,包括创建Truffle项目,部署智能合约到ganache测试网络,然后在另一个npm项目中引入web3.js,通过初始化web3对象并获取智能合约实例,解决多行ABI赋值问题,最终实现调用合约的getData和setData函数。
最低0.47元/天 解锁文章
4416

被折叠的 条评论
为什么被折叠?



