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/

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

  1.  
    var HDWalletProvider = require("truffle-hdwallet-provider"); // 导入模块
  2.  
    var mnemonic = "drill food hunt team moment bird mistake attitude tunnel ecology sister resist"; //MetaMask的助记词。
  3.  
     
  4.  
    module.exports = {
  5.  
    networks: {
  6.  
    ropsten: {
  7.  
    provider: function() {
  8.  
    // mnemonic表示MetaMask的助记词。 "ropsten.infura.io/v3/33..."表示Infura上的项目id
  9.  
    return new HDWalletProvider(mnemonic, "ropsten.infura.io/v3/33c69b85140042c8b67c7d74e776c4e4", 1); // 1表示第二个账户(从0开始)
  10.  
    },
  11.  
    network_id: "*", // match any network
  12.  
    gas: 3012388,
  13.  
    gasPrice: 30000000000
  14.  
    },
  15.  
    }
  16.  
    };

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

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


调用合约:

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

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

或者采用如下方式调用:

(Math是部署的合约名)

Solidity truffle,部署合约到Ropsten测试链或主链,调用合约(转)的更多相关文章

  1. 使用Truffle 部署智能合约

    使用Truffle 部署智能合约 之前我们使用Geth,原生的以太坊Golang工具,分析了创世区块的参数内容,在本地创建了私有以太坊区块链,并使用两个账户进行了挖矿和转账操作,对以太坊有了基本了解. ...

  2. 区块链学习(四)truffle部署编译智能合约以太坊私有链

    前面我们介绍了以太坊私有链的搭建以及多节点私有链网络,这次我们介绍如何使用truffle框架来部署编译智能合约到我们之前搭建的私有链网络中. 搭建环境及需使用的工具:ubuntu18.04  Truf ...

  3. EOS测试链智能合约部署调用

    ETH与EOS两者智能合约进行简单的对比. 1.编译智能合约(合约编译成.wasm与.abi格式后即可部署到区块链) [root@C03-12U-26 testcontract]# cat testc ...

  4. Truffle 4.0、Geth 1.7.2、TestRPC在私有链上搭建智能合约

    目录 目录 1.什么是 Truffle? 2.适合 Truffle 开发的客户端 3.Truffle的源代码地址 4.如何安装? 4.1.安装 Go-Ethereum 1.7.2 4.2.安装 Tru ...

  5. zookeeper部署及集群测试

    zookeeper部署及集群测试 环境 三台测试机 操作系统: centos7 ; hostname: c1 ; ip: 192.168.1.80 操作系统: centos7 ; hostname: ...

  6. Redis Cluster部署、管理和测试

    背景: Redis 3.0之后支持了Cluster,大大增强了Redis水平扩展的能力.Redis Cluster是Redis官方的集群实现方案,在此之前已经有第三方Redis集群解决方案,如Twen ...

  7. 蓝绿部署、A/B测试以及灰度发布(金丝雀发布)

    过去的10多年里,很多大公司都在使用蓝绿部署,安全.可靠是这种部署方式的特点.蓝绿部署虽然算不上”Sliver Bullet“,但确实很实用.在有关于“微服务”.“DevOps”.“Cloud-nat ...

  8. Linkerd 金丝雀部署与 A/B 测试

    本指南向您展示如何使用 Linkerd 和 Flagger 来自动化金丝雀部署与 A/B 测试. 前提条件 Flagger 需要 Kubernetes 集群 v1.16 或更新版本和 Linkerd ...

  9. 以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约

    以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约 在上一篇文章中,我们使用Truffle自带的客户端Truffle Develop,在私有链上搭建并运行了官方提供的WebPack智能合 ...

随机推荐

  1. React: 无状态组件生成真实DOM结点

    在上一篇文章中,我们总结并模拟了 JSX 生成真实 DOM 结点的过程,今天接着来介绍一下无状态组件的生成过程. 先以下面一段简单的代码举例: const Greeting = function ({ ...

  2. MySQL Index--Change Buffer

    Change Buffer功能 当执行INSERT/DELETE/UPDATE三类DML操作需要修改二级索引上数据时,如果需要修改的二级索引页未存在于当前Buffer Pool中,可以先将该" ...

  3. Docke 镜像加速

    一.国内获取Docker镜像时,访问 https://hub.docker.com/速度缓慢,只有几十K左右,这种情况可以使用国内的一些docker镜像,国内有些企业做了镜像拷贝工作,这样,我们就可以 ...

  4. 使用jquery.datatable.js注意事项

    本文链接:https://blog.csdn.net/ylg01/article/details/76463908写在最前面的话,如果不是维护老项目或者在老项目上二次开发尽量不要用这个表格插件 为什么 ...

  5. 【MySQL】FIND_IN_SET、LIKE、IN的区别

    现在有张新闻表,里面有新闻名称name字段,有新闻类型type字段,1代表头条,2代表推荐,11代表热点,22代表最新,现在表中有两条记录,存储形式如下,现在的需求是查找头条新闻,及type中包含1的 ...

  6. PAT甲级1001水题飘过

    #include<iostream> using namespace std; int main(){ int a, b; while(scanf("%d%d", &a ...

  7. docker学习3-镜像的基本使用

    前言 Docker的三大核心概念:镜像.容器.仓库.初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似 我们可以把镜像看作类,把容器看作类实例化后的对象. d ...

  8. selenium常用的API(四)设置get方法最大加载时间

    我们在进行自动化测试的时候,使用get方法打开页面时会等到页面完全加载完才会执行后续操作, 有时我们需要的元素已加载完成,而部分JS未加载完导致加载时间很长,这无疑增加了自动化测试的时间, 针对此情况 ...

  9. tcp中设置连接超时

    直接上代码: 设置连接超时 //首先改成非阻塞套接字 unsigned ; int rm=ioctl(sConnect,FIONBIO,(unsigned long*)&ul); ) { pr ...

  10. sass变量的作用域

    嵌套规则内定义的变量只能在嵌套规则内使用(局部变量),不在嵌套规则内定义的变量则可在任何地方使用(全局变量). <div class="test">111111111& ...