DAPP相关语言版本更新问题

我正在学习DAPP的课程 先不提solidity的版本更新 1.关于web3.js 的地址更新的问题,是不是只要将教程里的地址改成新版地址

<script src="https://cdn.jsdelivr.net/npm/web3@latest/dist/web3.min.js"></script>

或者单纯访问这个地址下载到本地然后本地访问就行了。

2.课程中与合约交互的方法是输入ABI和合约地址,而新版1.2.11写的是

var Contract = require('web3-eth-contract');

// set provider for all later instances to use
Contract.setProvider('ws://localhost:8546');

var contract = new Contract(jsonInterface, address);

contract.methods.somFunc().send({from: ....})
.on('receipt', function(){
    ...
});

如果我用的是metamask,是不是写成

var Contract = require('web3-eth-contract');

const ganache = require("ganache-core");
Contract.setProvider(ganache.provider());

var contract = new Contract(jsonInterface, address);

contract.methods.somFunc().send({from: ....})
.on('receipt', function(){
    ...
});

https://github.com/trufflesuite/ganache-cli (Ganache参考) 那么其中jsonInterface是不是用构建后的JSON文件路径就行了,而address因为在JSON中被解析已经获得了所以不用写了(虽然文档也是写着可选)。 还有返回的数据应该怎么获得我在文档中没找到,不好意思

请先 登录 后评论

最佳答案 2020-08-20 09:41

  1. 可以, 不过 Web3.js 在 1.0 版本和之前的版本API 接口有点区别, 接口使用需要参考文档

  2. 不是, 如果使用 metamask 可以注入的 window.ethereum 作为provider. 或者你参考这个链接

请先 登录 后评论

其它 0 个回答