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. MySQL DDL--MySQL 5.7版本Online DDL操作

    主键索引维护 1.新增主键索引 ## 可以使用ALGORITHM=INPLACE+LOCK=NONE方式,操作期间允许读写. ALTER TABLE tb001 ADD PRIMARY KEY (ID ...

  2. Centos 脚本中几个特殊符号的作用笔记

    反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串 单引号(''):转义其中所有的变量为单纯的字符串 双引号(""):保留其中的变量属性,不进行转义处理 反引号(``):把其中的 ...

  3. myEclipse项目部署点击Finish按钮没反应

    -- 问题描述:myEclipse项目部署点击Finish按钮没反应. -- 问题原因:Tomcat没有不熟JDK. -- 解决办法:window->preferences->servic ...

  4. mysql多实例启动过程

    单机多实例,是基本的测试环境 01.myslq提供单机管理多节点 02.启动mysql多实例 03.观察进程

  5. X.509

    参考:https://baike.baidu.com/item/X.509/2817050?fr=aladdin 标题:X.509  百度百科 在密码术中,X.509是定义公用密钥证书格式的标准. X ...

  6. typeScript学习随笔(一)

    TypeScript学习随笔(一) 这么久了还不没好好学习哈这么火的ts,边学边练边记吧! 啥子是TypeScript  TypeScript 是 JavaScript 的一个超集,支持 es6 标准 ...

  7. 加速Github访问

    Github 仓库的数据传输很慢,甚至可能导致仓库拉取失败.例如: remote: Enumerating objects: , done. remote: Counting objects: % ( ...

  8. 转载:ubuntu系统启动顺序,常见系统服务说明

    Ubuntu运行级别Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作. 运 ...

  9. MySQL——时间戳和时间的转化

    前言 Mysql中时间戳和时间的转化 时间转时间戳 select unix_timestamp('2019-7-29 14:23:25'); 时间戳转时间 select from_unixtime(1 ...

  10. STLNormalFunc

    #include <iostream> #include <vector> using namespace std; void main_1() { vector<int ...