ETHPM打包管理

彭茜
彭茜 热门 2018-05-15 11:27
7 8542
EthPM是一种新的Ethereum Package Registry. 遵循发布与消费智能合约包的ERC190 spec标准, 也获得了众多多样化Ethereum开发工具的支持.为了显示我们的支持, 我们直接将Ethereum Package Registry集成到了Truffle.
<p> 安装打包
使用EthPM打包和运行NPM一样简单. 命令如下
可以在打包时指定版本号:
像NPM一样, EthPM 版本遵循semver.可以在the Ethereum Package Registry找到可用的包列表.
<p>安装依赖
你的项目可以定义一个 ethpm.json 文件,这样,你的项目将依赖于特定的依赖和版本. 要安装所有的依赖到ethpm.json 中, 运行:
想更多了解ethpm.json文件, 请查看下面的package configuration.
<p> 消费安装合约
安装包,会被存放在项目的installed_contracts 目录中.如果没有installed_contracts目录,会自动创建此目录.像对待NPM的node_modules目录一样对待installed_contracts目录– 也就是说,除非你知道你在干吗,否则不要编辑里面的内容)
安装包可以在你的测试、部署和solidity合约文件中(consumed)被消费,通过import’ing或require’ing名称方式引入包和合约. 例如, 下面的Solidity会从owned 包引入owned.sol 文件:
相似地, 下面的迁移文件会从包ens 引入ENS.sol
文件: ./migrations/2_deploy_contracts.js
请注意,上面的迁移中,我们消费了ens 包,并根据ENS是否具有具有地址,动态地部署了ENS 合约.这是提供给你的非常好的技巧 deployer ,使得依赖网络artifacts去编写迁移.在这个例子中, 如果我们在Ropsten 网络上运行我们的迁移, 迁移并不会部署ENS合约,因为(at the time of this writing) 在公认的ENS 合约已存在于Ropsten网络中– 所以不能部署我们私有的. 如果我们在另一个网络环境中运行我们的迁移或者在测试网络中(有可能的话),我们就能够部署ENS 合约,这样就有了一个可以工作的依赖合约了.
<p> 发布你自己的包  
发布自己的包像安装一样直接, 但是像NPM一样, 需要一些配置.
<p><b> <b>ROPSTEN, ROPSTEN, ROPSTEN
当前Ethereum Package Registry存在于Ropsten测试网络中. 如果想发布注册信息, 我们需要建立自己的Ropsten配置,因为我们要使交易被标记(signed怎么翻译).
在此例中, 我们同truffle-hdwallet-provider 组件一起用Infura 发布包和代表Ropsten 网络的Ethereum地址的12个单词的hd-wallet 助记词。首先, 通过NPM的命令:truffle-hdwallet-provider安装到你的项目中:
然后编辑你的配置文件,添加12个单词的助记词 到ropsten 网络中:
File: truffle.js
<p><b> <b>包配置
像NPM一样, configuration options for EthPM的配置选项单独存入在一个叫ethpm.json的文件中. 文件存放于Truffle 配置文件,会提供到Truffle所有需要发布包的信息. 你可以在Configuration得到一份完整可用的配置选项.
File: ethpm.json
<p><b> <b>COMMAND
在你完成配置之后, 发布就剩临门一脚了:
你会看到与下所示相似的输出信息, 表示你的包已经成功发布了.
<p><b> <b>发<b>布前
当使用像develop 这样默认的网络时,可以被配置到任何Ethereum客户端(像Ganache或Truffle Develop), you're bound to have network artifacts lying around that you don't want published .在发布包之前,请考试运行如下命令,以排除不想着的网络artifacts:
点击command reference 查看更多信息.
文章发布只为分享区块链技术内容,版权归原作者所有,观点仅代表作者本人,绝不代表区块链兄弟赞同其观点或证实其描述。
7条回应 最新 最早
花语
沙发# 花语 2018-05-15 11:48
区块链是一个”组织形式”的革命。让个体直接进行交易,跳过了中介。还有,人类提一次拥有了一个不受政府控制的“账本”。中美俄三国的首脑加在一起也改不了那个账本。
刘秋婵
板凳# 刘秋婵 2018-05-15 11:51
去中心化是比特币和以太坊这类系统最为重要的性质。如果这是真的,那么能够量化去中心化将是至关重要的。最小值中本聪系数就是这样的一种尝试,当这种系数增加时,系统妥协所需的最小实体数量就会增加。我们认为这符合去中心化的直觉概念。
魏庆凯
地板# 魏庆凯 2018-05-15 12:03
比特币价格泡沫越高,挖矿吸引力越大,而挖矿的成功概率与算力成正比,这种中心化趋势应该越显著,这是因为算力取决于投入,大的中心节点投入很高啊…
小皮球
4楼# 小皮球 2018-05-15 12:42
区块链、数字货币和传统经济的结合,是一场认知革命。
妖雨
5楼# 妖雨 2018-05-15 13:03
哇塞,简直是大势所趋啊。
魏璐璐
6楼# 魏璐璐 2018-05-15 14:03
比特币作为一种支付方式也仍然存在疑问。尽管一些企业接受比特币,但很少有交易是以比特币支付的。比特币最终会不会成为一种类似于数字黄金的价值储存手段,或一种支付方式。尽管如此,比特币仍是2017年表现最好的金融资产,已大涨逾1500%。
海事阿拉搜
7楼# 海事阿拉搜 2018-05-15 16:20
很期待下篇,什么时候会出下一篇啊?
游客
登录后才可以回帖,登录 或者 注册