用web3.js与智能合约交互

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

工具: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配置文件,添加连接网络信息:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值