使用truffle-box部署合约到区块链并运行

比特拓荒牛
• 阅读 3048

使用truffle-box部署合约到区块链

本文介绍如何使用truffle结合vue框架部署智能合约

Truffle是以太坊最流行的开发框架,能够在本地编译、部署智能合约,使命是让开发更容易。这里尝试搭建环境,运行第一个区块链程序(Dapp)

1.安装全局truffle

npm install -g truffle // Version 3.0.5+ required.
npm install -g ethereumjs-testrpc

2.安装truffle-box

首先我们需要去truffle官网
使用truffle-box部署合约到区块链并运行
点击 boxes
里面有很多搭建好的脚手架,我选择了一个vue的脚手架。

truffle unbox wespr/truffle-vue

(安装过程很漫长,他是连带着依赖包一起安装的,有时候会失败,失败了可以自行安装依赖包)

3.装好后测试一下代码

执行:

testrpc

使用truffle-box部署合约到区块链并运行

他会给你10个账户,以及对应的private keys
testrpc现在更名为Ganache CLI,其实是一个东西

执行vue

npm run dev

你会发现文件报错了

使用truffle-box部署合约到区块链并运行
这个原因是因为我们还没有在该环境下部署合约

部署合约

新打开一个命令行

编译合约

truffle compile

部署合约

truffle migrate

如何你执行以上两行代码会打开truffle.js
那么在使用truffle命令时带上脚本的文件扩展名.cmd,例如truffle.cmd compile

随后在testrpc那个命令行中:
使用truffle-box部署合约到区块链并运行

编译合约的命令行:
使用truffle-box部署合约到区块链并运行

至此,合约部署完成
接下来刷新vue页面,
使用truffle-box部署合约到区块链并运行
合约成功部署

但是当你点击sign up出现报错
使用truffle-box部署合约到区块链并运行

原因是我们还需要另外一个工具 ------- MetaMask
这是以太坊的一个轻量级钱包,因为以太坊部署合约,执行合约都需要花费gas,所以我们需要安装MetaMask

在chrome中打开应用商店,在里面搜索MetaMask,安装它
然后按照他的要求的流程,这里就不多介绍了,

随后导入testrpc虚拟的钱包秘钥private key,他初始会给你100eth

使用truffle-box部署合约到区块链并运行

networks选择我们本机的节点以及端口号8545
使用truffle-box部署合约到区块链并运行

配置好之后刷新vue界面,再次点击sign up

MetaMask会弹出一个支付窗口,点击确认,合约便开始执行了。

至此,合约部署以及运行完成。

参考文档

https://www.npmjs.com/package...
https://github.com/ryhope/tru...
https://truffleframework.com/

点赞
收藏
评论区
推荐文章
可莉 可莉
3年前
10个开源的Python区块链项目
Python不是主流的区块链底层平台开发语言,但是在DApp开发、区块链仿真与数据分析、智能合约安全分析等领域,Python依然是不错的选择。本文介绍了10个最流行的Python区块链项并提供了相应的源代码下载地址。<!more区块链开发教程链接:以太坊(https://www.oschina.net/action/GoToLink
Stella981 Stella981
3年前
Defi数据引擎The Graph调用方法【含源码】
当你尝试访问以太坊智能合约以及DApp产生的区块链数据时,可能会发现很难将数据转换为一种可读的格式。TheGraph提供了一种用于查询以太坊和IPFS网络数据的索引协议,任何人都可以基于其提供的开放API创建并发布索引数据,即subgraph,这使得区块链数据更容易访问。在这个教程中,我们将学习如何使用TheGraph来查询Aave协议数据,使用的技术
Wesley13 Wesley13
3年前
ETH智能合约测试
_ETH的智能合约一般用Solidity语言编写,懂点基本solidity语法会更好地测试_测试中需要用到的工具:一份智能合约Remix(一个在线IDE,用来编译、编辑、部署智能合约,需要翻墙才能使用)点我跳转到Remix(https://www.oschina.net/action/GoToL
Stella981 Stella981
3年前
Fabric链码开发的8个原则
我相信智能合约(链码)是HyperledgerFabric区块链网络的核心。正确开发链码可以真正发挥一个安全区块链的优势,反之则会带来灾难性的后果。在这篇文章里我不打算探讨HyperledgerFabric链码设计的特定模式的好与坏,而是希望分享我在开发若干HyperledgerFabric概念验证应用过程中总结的一些基本准则。Hyperled
Stella981 Stella981
3年前
Fabric多通道网络实战
HyperledgerFabric支持在一组相同的机构之间的多通道部署,每个通道都相当于一个单独的区块链。Fabric的多通道特性不仅可以满足机构之间不同的数据共享需求,同时也可以提高整个Fabric网络的吞吐量。本文将演示如何使用HyperledgerFabric1.4.3搭建一个多通道的区块链网络、部署并访问链码。1、HyperledgerF
Wesley13 Wesley13
3年前
37个常见的智能合约安全问题【以太坊】
SWCRegistry是以太坊安全人员和开发人员的必备知识库。它是SmartContractSecurity提供的以太坊智能合约安全漏洞分类及测试用例集,其中包含了37种以太坊Solidity智能合约开发中常见的安全问题的描述及后果,例如重入、溢出等,同时也给出了CWE漏洞分类、解决方案和作为示例的合约程序代码。用自己熟悉的语言学习以太坊DA
Wesley13 Wesley13
3年前
NEO从源码分析看UTXO交易
_0x00前言_社区大佬:“交易是操作区块链的唯一方式。”_0x01交易类型_在NEO中,几乎除了共识之外的所有的对区块链的操作都是一种“交易”,甚至在“交易”面前,合约都只是一个小弟。交易类型的定义在Core中的TransactionType中:源码位置:neo/Core/TransactionType
Stella981 Stella981
3年前
Solidity内联汇编简明指南
在用Solidity开发以太坊智能合约时,使用汇编可以直接与EVM交互,降低gas开销成本,更精细的控制智能合约的行为,因此值得Solidity开发者学习并加以利用。本文是Solidity汇编开发的简明教程,旨在帮助你快速熟悉如何在Solidity智能合约代码中嵌入汇编代码。以太坊教程链接:Dapp入门(https://www.oschina.n
Stella981 Stella981
3年前
Chainlink区块链Oracle网络使用指南
Chainlink是一个去中心化的预言机网络,它可以让区块链中的智能合约安全地访问外部世界的数据。在这个教程中,我们将探索chainlink预言机网络的搭建,并学习如何使用预置或自定义的适配器实现智能合约与外部世界数据的桥接。以太坊教程链接:Dapp入门(https://www.oschina.net/action/GoToLink?urlh
比特拓荒牛
比特拓荒牛
Lv1
十步杀一人,千里不留行。——李白
文章
2
粉丝
0
获赞
0