环境说明

  • windows 10
  • npm 6.14.15
  • node.js v14.18.3*

步骤说明

DApp 概念

App = 客户端 + 服务端 (数据保存在中心化数据库)

DApp = 客户端 + 智能合约 (数据保存在区块链上)

DApp 开发工具

几个Ethereum DApp 开发必备的工具

  • Web3.js Ethereum官方提供的可以通过 Javascript 来调用Ethereum方法的类库
  • infura 提供了Ethereum 重钱包节点,再也不用自己维护几百G的钱包了
  • Metamask 浏览器插件,为你浏览器提供了一个去中心化的以太坊钱包 (源码也用到了 web3.js 和 infura的服务)
  • truffle.js 可以用它来管理智能合约, 偏工程化,truffle boxes 提供了一些脚手架能快速搭建 React、Vue、Webpack等环境
  • remix web版本的solidity编译调试工具,Web App 本身比较轻量。适合平时学习调试ethereum/solidity

Ganache 安装

下载

安装

Ganache CLI v6.12.2 (ganache-core: 2.13.2)

Available Accounts
==================
(0) 0x27CB2c3E62145ADD55Ab2207782C174DC979837b (100 ETH)
(1) 0xDF14A5bb0969f45448aDB4C12524Db38F366ECb2 (100 ETH)
(2) 0xAE606908D508E3FB159e9fE7fCc63d4FB4F5B24d (100 ETH)
(3) 0xD66Dc958D9f1495E1d8a7FB8AA052d1C19D7944D (100 ETH)
(4) 0x274a24f8AAE732AA23ad82513C98593ef71c40DF (100 ETH)
(5) 0x242A73793396C52Da173039931aa5F0c6841E2D8 (100 ETH)
(6) 0xCADD4a2641Ba6d113db584baF794ebEd387AB377 (100 ETH)
(7) 0x7721564279DD5772A3F44A3C9A27d0Bb1769C152 (100 ETH)
(8) 0xdB68603DA3E583FF38aDF40AB865d8f45528789d (100 ETH)
(9) 0x52A408483a763EA7283b73Ca44b374830C04D397 (100 ETH)

Private Keys
==================
(0) 0x13dbd99270a71ed652c12b548ff6639dce769443ffbba827015c81ec3dd20166
(1) 0x0683414b4bfe556b46efcbd04fc4c2f648e8fa376a9452014a0b3dc4f8a7812d
(2) 0xcb1d6c255058823af74c6868c1fcd7f86d70920b452980a0ef37803166cdebef
(3) 0xca823f7d4931b52ed5a1216bfc741ac321e0a180c33d7c6aeff9132e3c3af7c8
(4) 0x43257dcf45cc475a354d2be3f811c7bfa3be198d4bb69645d9443e6b08097e1e
(5) 0xf89c8d82ca5cece6125f8e13670a29d603cd998aa315e0c6e0a086efefe7bb45
(6) 0x457b822e5da01fed659e4cc9f3e0ffb17b71ad2bf9227431a7a71015c3846f55
(7) 0x72a78373117507142aecae53ce24bd01e81067c2b1658d289b87a0dab3f4798d
(8) 0x4f40fd75730b661f50e22dbc40dc71b5f88290782a506c77d48a293db064273f
(9) 0xfa07c71c4c343de6943045786d2abec1616935031dbb822153ace58bcb6a926d

HD Wallet
==================
Mnemonic: just real doctor security east creek false custom mixed muscle negative blood
Base HD Path: m/44'/60'/0'/0/{account_index}

Gas Price
==================
20000000000

Gas Limit
==================
6721975

Call Gas Limit
==================
9007199254740991

Listening on 127.0.0.1:8545

Truffle

刚开始使用Ganache的话,安装并启动图形界面就可以了,Ganache就绪后,让我开始Truffle。

安装

npm install -g truffle

MetaCoin 示例项目

PS C:\Users\axin\OneDrive\workspace\dapp\MetaCoin> truffle unbox metacoin

Starting unbox...
=================

√ Preparing to download box
√ Downloading
√ Cleaning up temporary files
√ Setting up box

Unbox successful, sweet!

Commands:

Compile contracts: truffle compile
Migrate contracts: truffle migrate
Test contracts: truffle test

PS C:\Users\axin\OneDrive\workspace\dapp\MetaCoin>

参考文献

Truffle Quickstart¶