# 搭建开发环境
在开始之前,请保证环境达到以下要求:
- Node.js v8.9.4 或者更高
- Windows,Linux,或Mac OS X
# 创建项目
首先创建一个项目,在终端输入以下内容:
mkdir testproject
初始化该项目,在终端输入以下内容:
cd testproject truffle init
完成此操作后,你会得到一个包含以下项目的项目结构:
contracts/:Truffle默认的合约文件存放目录。 migrations/:可编写脚本的部署文件的目录。 test/:用于测试应用和合约的测试文件目录。 truffle-config.js:Truffle的配置文件。
contracts在此目录下编写自己的智能合约。
# 编译及部署项目
要编译Truffle项目,请转至为项目所在目录的根目录,然后在终端中输入以下内容:
truffle compile
配置GateChain网络,请转至“truffle-config.js”文件。
const HDWalletProvider = require('truffle-hdwallet-provider'); const fs = require('fs'); const mnemonic = fs.readFileSync(".secret").toString().trim(); module.exports = { networks: { GateChain: { provider: () => new HDWalletProvider(mnemonic, `https://evm.gatenode.cc`), network_id: 86, gas: 6000000, timeoutBlocks: 200, skipDryRun: true }, }, mocha: { timeout: 100000 // prevents tests from failing when pc is under heavy load }, compilers: { solc: { } } }
注意:需要配置MetaMask助记词,请从部署账户的助记词,获取方法:MetaMask-设置-安全与隐私,在根目录中创建一个新的.secret文件,然后输入助记词来开始使用。
部署项目,请在终端中输入以下内容:
truffle migrate --network GateChain
合同将部署在GateChain网络中,如下所示:
Compiling your contracts... =========================== > Everything is up to date, there is nothing to compile. Starting migrations... ====================== > Network name: 'GateChain' > Network id: 86 > Block gas limit: 4294967295 (0xffffffff) 1_initial_migration.js ====================== Replacing 'Migrations' ---------------------- > transaction hash: 0x2eaa10bd0a8cdd55022fd6a16372659a5fd52151b216a82d07f397c1c91642fe > Blocks: 0 Seconds: 4 > contract address: 0x871e6B5eEaC4d69E33880cac1997F1374302eddC > block number: 98767 > block timestamp: 1614756393 > account: 0x06ae7981a16379fD627a879Ec017AaDFaa4BEf59 > balance: 260.04901 > gas used: 128511 (0x1f5ff) > gas price: 10000 gwei > value sent: 0 ETH > total cost: 1.28511 ETH Summary ======= > Total deployments: 1 > Final cost: 1.28511 ETH
注意:以上内容均为示例,只是为了提供结构思路。