[Contract] openzeppelin/cli 开发, 部署, 升级智能合约

Install Dependency
$ npm init
$ npm install @openzeppelin/cli
Setup project
$ npx openzeppelin init
Write first contract in contracts/, then compile
pragma solidity ^0.5.0;
contract Counter {
uint256 public value;
function increase() public {
value++;
}
}
$ vi contracts/Counter.sol
$ npx oz compile # OR node_modules/@openzeppelin/cli/lib/bin/oz-cli.js compile
Deploy to development network ( Need Ganache, see Truffle flow here. )
$ vi network.js # update Ganache port to 7545
$ npx oz deploy # will auto compile at first
Test contract from terminal, then Query contract' public
$ npx oz send-tx
$ npx oz call
Upgrade your contract
$ vi Counter.sol
$ npx oz upgrade # will auto compile at first
$ npx oz send-tx
$ npx oz call
Refer:Openzeppelin是否智能合约的祸害
Docs: https://docs.openzeppelin.com/cli/2.8/getting-started
How Upgrade works: https://docs.openzeppelin.com/upgrades/2.8/
Link:https://www.cnblogs.com/farwish/p/12588286.html
[Contract] openzeppelin/cli 开发, 部署, 升级智能合约的更多相关文章
- [blockchain-035]eos的部署安装智能合约
0.参考资料 https://github.com/EOSIO/eos/wiki 1. eos的github地址 https://github.com/EOSIO/eos 2.下载eos源码 git ...
- 区块链学习(四)truffle部署编译智能合约以太坊私有链
前面我们介绍了以太坊私有链的搭建以及多节点私有链网络,这次我们介绍如何使用truffle框架来部署编译智能合约到我们之前搭建的私有链网络中. 搭建环境及需使用的工具:ubuntu18.04 Truf ...
- EOS智能合约开发(四):智能合约部署及调试(附编程示例)
EOS智能合约开发(一):EOS环境搭建和创建节点 EOS智能合约开发(二):EOS创建和管理钱包 EOS智能合约开发(三):EOS创建和管理账号 部署智能合约的示例代码如下: $ cleos set ...
- 第一行代码:以太坊(2)-使用Solidity语言开发和测试智能合约
智能合约是以太坊的核心之一,用户可以利用智能合约实现更灵活的代币以及其他DApp.不过在深入讲解如何开发智能合约之前,需要先介绍一下以太坊中用于开发智能合约的Solidity语言,以及相关的开发和测试 ...
- 用solidity语言开发代币智能合约
智能合约开发是以太坊编程的核心之一,而代币是区块链应用的关键环节,下面我们来用solidity语言开发一个代币合约的实例,希望对大家有帮助. 以太坊的应用被称为去中心化应用(DApp),DApp的开发 ...
- 用Java为Hyperledger Fabric(超级账本)开发区块链智能合约链代码之部署与运行示例代码
部署并运行 Java 链代码示例 您已经定义并启动了本地区块链网络,而且已构建 Java shim 客户端 JAR 并安装到本地 Maven 存储库中,现在已准备好在之前下载的 Hyperledger ...
- 生产环境手把手部署ERC20智能合约
工具 rimex http://remix.ethereum.org/ metamask https://metamask.io/ ERC20 代码 https://github.com/OpenZe ...
- 区块链入门到实战(27)之以太坊(Ethereum) – 智能合约开发
智能合约的优点 与传统合同相比,智能合约有一些显著优点: 不需要中间人 费用低 代码就是规则 区块链网络中有多个备份,不用担心丢失 避免人工错误 无需信任,就可履行协议 匿名履行协议 以太坊(Ethe ...
- 【智能合约】编写复杂业务场景下的智能合约——可升级的智能合约设计模式(附Demo)
智能合约的现状 以太坊在区块链上实现了智能合约的概念,用于:同质化通证发行(ERC-20).众筹.投票.存证取证等等,共同点是:合约逻辑简单,只是业务流程中的关键节点,而非整个业务流程.而智能合约想解 ...
- 使用Truffle 部署智能合约
使用Truffle 部署智能合约 之前我们使用Geth,原生的以太坊Golang工具,分析了创世区块的参数内容,在本地创建了私有以太坊区块链,并使用两个账户进行了挖矿和转账操作,对以太坊有了基本了解. ...
随机推荐
- 3DCAT亮相糖酒会,为元宇宙展会提供实时云渲染支持
4月12日,第108届全国糖酒商品交易会(下文简称"糖酒会")在成都正式开幕,吸引了众多酒类企业和行业人士的参与. 图片源自新华社 本次糖酒会上,某展会采用了"双线&qu ...
- JS(入门)
一. 编程语言 1.1 编程 编程:就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程.计算机程序:就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌握的语言 ...
- 记录--get请求参数放在body中?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1.背景 与后端对接口时,看到有一个get请求的接口,它的参数是放在body中的 ******get请求参数可以放在body中?? 随即问 ...
- pycharm 常见易错的PEP8规范
PEP8规范 ( Python Enhancement Proposal ) PEP 8: E231 missing whitespace after ','这个意思是逗号后面要有一个空格 PEP 8 ...
- C# OpenCvSharp 提取文字区域
效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System. ...
- verilog的文件流和项目流
verilog的文件流和项目流 1.写在前面 在学习FPGA时,一般都是从项目流入手的.从一个集成的开发环境创建一个工程.通过一个个组件的编写和设置来实现某个项目.这样的操作固然简单,对于设计者来说只 ...
- read IEEE std for verolog(2)
read IEE standard for verilog (2) 1.阅读前言 前面大致地看完了序言,了解了一下verilog的起源以及基本特性.接下来往下读有相关链接和目录,然后是正文.今天暂时阅 ...
- KingbaseES V8R6 中unlogged表
前言 KingbaseESV8R6有一种表称为unlogged,在该表新建的索引也属于unlogged.和普通表的区别是,对该表进行DML操作时候不将该表的变更记录变更写入到wal文件中.在数据库异常 ...
- ET介绍——数值组件设计
类似魔兽世界,moba这种技能极其复杂,灵活性要求极高的技能系统,必须需要一套及其灵活的数值结构来搭配.数值结构设计好了,实现技能系统就会非常简单,否则就是一场灾难.比如魔兽世界,一个人物的数值属性非 ...
- #莫比乌斯反演,整除分块#洛谷 6222 「P6156 简单题」加强版
题目 多组询问,给出\(n,k\) 求 \[\sum_{i=1}^n\sum_{j=1}^n(i+j)^kgcd(i,j)\mu^2(gcd(i,j)) \] 对\(\text{unsigned}\) ...