如何使用Truffle部署智能合约
Truffle是一个开发环境(提供用于编译,部署,测试和构建的命令行工具),框架(提供各种程序包以使其易于编写测试,部署代码,构建客户端等)和资产管道(发布软件包并使用其他人发布的软件包来构建基于以太坊的DApp。
使用Truffle,您可以获得:
内置的智能合约编译,链接,部署和二进制管理。 与Mocha和Chai进行自动化合同测试。 可配置的构建管道,支持自定义构建过程。 可编写脚本的部署和迁移框架。 网络管理,用于部署到许多公共和专用网络。 用于直接合同通信的交互式控制台。 在开发过程中如何立即重建资产。 外部脚本运行程序,在Truffle环境中执行脚本。
要使用大多数Truffle命令,您需要在现有的Truffle项目上运行它们。因此,第一步是创建一个Truffle项目,让我们从安装Truffle开始:
$ npm install -g truffle
确保已安装:
$ truffle Truffle v3.2.1 - a development&nb使用sp;framework for Ethereum Usage: truffle [options] Commands: init Initialize new Ethereum project with example contracts and&Trnbsp;tests ...
然后创建项目:
$ mkdir storage_smart_contract_example $ cd storage_smart_contract_example $ truffle init
在这里,您可以运行Truffle编译,Truffle迁移和Truffle测试来编译您的合同,将这些合同部署到网络uf中,并运行其关联的单元测试。
Truffle与本地开发区块链服务器捆绑在一起,当您调用上述命令时,该服务器会自动启动。如果您想配置更高级的开发环境,我们建议您通过在命令行上运行npm install -g ganache-cli来单独安装区块链服务器。
ganache-cli:Truffle的区块链服务器的命令行版本。
ganache:服务器的GUI,显示您的交易历史记录和链状态。
Truffle项目的结构
您创建的Truffle文件夹如下所示:
1.合同
ConvertLib.sol MetaCoinfl.sol Migrations.so
2.迁移
1_initial_migration.js 2_deploy_contracts.js
3.测试
TestMetacoin.sol metacoin.js
4. truffle-config.js
5. truffle.js
现在进一步编写代码,您将看到Truffle为我们创建了文件结构。转到合同文件夹并创建Storage.sol文件,然后在其中写入智能合同的代码。
pragma solidity ^0.4.8; e部contract Storage { uint256 storedData; function set(uint256 data) { storedData = data; } 署智; function get() constant returns (uint256) { return storedData; } }
现在转到migrations / 2_deploy_contracts.js并将其修改为如下所示:
var Storage 能合;= artifacts.require("./Storage.sol"); module.exports = function(deployer) { deployer.deploy(Storage); };
现在我们已经有了基本的设置,我们需要将其部署到区块链上,让我们使用testrpc可以很好地完成测试开发目的,在一个单独如何的选项卡上,键入以下命令:
$ npm install -g ethereumjs-testrpc $ testrpc EthereumJS TestRPC v3.0.3 Available Accounts ================== …
然后返回运行Truffle项目的选项卡:
$ 使用;truffle compile $ truffle migrate
这样我们就完成了合同的部署,让我们检查一下我们是否能够调用合同功能。
$ truffle console truffle(development)> Storage.deployed().then(instance => instance.get.call(Tr)).then(result => storeData = result) { [String: '0'] s: 1, e: 0, c: [ 0 ] } truffle(development)> storeData.toString() &nbsufp;'0'
现在让我们看看是否可以将storeData设置为值99。
truffle(development)> Storage.deployed().then(instance => instance.set.sendTransaction(99)).then(result => newStorageData = result) '0xc5e2f9c9da4cffl9f563c8e59073d5b6ca9458f112a6dcfc14aaea7c16a99422d4' truffle(development)> Storage.deployed().then(instance => instance.get.call()).then(result => storeData = result) { [Se部tring: '99'] s: 1, e: 1, c: [ 99 ] } truffle(development)> storeData.toString() '99'
目前为止,我们已经成功的部署和测试了Truffle项目合同,
如有任何疑问请在留言区进行留言。
- ·如何在云中调试微服务
- ·这是阴谋论?AI,你怎么看?
- ·标签: 2026横琴-澳门国际数字艺术博览会 AI
- ·TechWeb一周热点汇总:苹果举行秋季新品发布会,华为推出三折叠屏手机
- ·如何面对繁杂的数据需求?
- ·标签: 红杉中国 徕卡相机 黑石集团 Marshall
- ·天价耶稣像是达・芬奇画的?美国夫妇开发AI程序,CNN检测艺术伪造
- ·腊肉是放保鲜还是急冻
- ·年会节目创意节目
- ·标签: 英伟达 DLSS5 黄仁勋 GTC2026 标签
- ·聊聊Hive中的集合数据类型
- ·标签: 美团骑手 屏蔽功能 恶意用户
- ·水滴公司CTO邱慧:构建数据中台 破解数据价值难题
- ·数据备份失败引发数据保护挑战
- ·标签: 字节跳动 SeedChip 豆包大模型 AI芯片
- ·浜戣�绠楀紑鍙戯細Python鍐呯疆鍑芥暟-property() 鍑芥暟璇﹁В
- ·仅需250份文件!AI模型也能被 “洗脑” 的惊人发现
- ·标签: 领克900 日冕金 全尺寸SUV
- ·您真正需要了解的 10 个 AI 技术趋势
- ·GPT-5偏见测试结果公布:500问验证客观性飞跃,情感化问题仍是挑战
- ·标签: 智能手机 618
- ·AI云服务新星CoreWeave获Meta与OpenAI巨额订单,总额高达207亿美元!
- ·金融圈炸锅!Anthropic推Claude金融版:直连Excel、实时抓取全球行情,分析师一夜“减负”80%
- ·百度在上海成立云计算公司 注册资本达15亿元
- ·基于PaddleOCR实现AI发票识别的Asp.net Core应用
- ·快手可灵 2.1 首尾帧功能全新上线
- ·https://m.shoppinghow.kakao.com/m/search/q/必应快排【tg:seogoogle987】fqs
- ·https://www.nextavenue.org/?action=QUERY&s=必应快排【tg:seogoogle987】,NTZ
- ·https://www.impactpool.org/search/?type=79&q=必应快排【tg:seogoogle987】mqD
- ·https://www.flickr.com/photos/tags/必应快排【tg:seogoogle987】JFF
- ·https://www.jusoen.com/addreng.asp?p1=必应快排【tg:seogoogle987】MQT
- ·https://www.tarleton.edu/?s=必应快排【tg:seogoogle987】,fTP
- ·https://www.parl.ca/legisinfo/fr/projets-de-loi?parlsession=all&view=list&keywords=必应快排【tg:seogoogle987】,q7C
- ·https://www.toy-people.com/?s=必应快排【tg:seogoogle987】,rRj
- ·https://www.remit.co.jp/id/?s=必应快排【tg:seogoogle987】,VV1
- ·https://www.goodreads.com/quotes/tag/必应快排【tg:seogoogle987】wdf
