Solidity truffle,部署合约到Ropsten测试链或主链,调用合约

Infura是⼀个托管的以太坊节点集群,可以将你开发的以太坊智能合约部署到infura提供的节点上,⽽⽆需搭建⾃⼰的以太坊节点,它是MetaMask背后的以太坊供应商。

1、Chrome浏览器安装MetaMask插件。 https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn/related?hl=zh-CN

2、安装HDWalletProvider: npm install truffle-hdwallet-provider

3、注册Infura。  https://infura.io/

Solidity truffle,部署合约到Ropsten测试链或主链,调用合约_第1张图片

 

truffle.js(truffle的配置文件,配置部署的网络。Windows下的配置文件是truffle-config.js):

var HDWalletProvider = require("truffle-hdwallet-provider");  // 导入模块
var mnemonic = "drill food hunt team moment bird mistake attitude tunnel ecology sister resist";  //MetaMask的助记词。 

module.exports = {
  	networks: {
        ropsten: {
            provider: function() {
                // mnemonic表示MetaMask的助记词。 "ropsten.infura.io/v3/33..."表示Infura上的项目id
                return new HDWalletProvider(mnemonic, "ropsten.infura.io/v3/33c69b85140042c8b67c7d74e776c4e4", 1);   // 1表示第二个账户(从0开始)
            },
            network_id: "*",  // match any network
            gas: 3012388,
            gasPrice: 30000000000
        },
  	}
};

命令行中: truffle compile    (编译合约)

命令行中: truffle migrate --network ropsten    (部署到测试网络或主网络)


调用合约:

命令行中: truffle console --network ropsten    (truffle连接到指定网络的交互模式)

交互模式等同于truffle develop进入的开发环境,调用合约与开发环境下一样。

或者采用如下方式调用:

Solidity truffle,部署合约到Ropsten测试链或主链,调用合约_第2张图片

(Math是部署的合约名)

 

 

你可能感兴趣的:(Solidity)