Truffle框架快速搭建区块链项目教程

嘿,朋友!最近是不是对区块链开发特别上头?今天咱们就唠唠怎么用Truffle框架从零开始搭个区块链项目。记得去年我刚接触那会儿,光配置环境就折腾了两天,现在给你趟平坑位,保准你半小时就能跑起来!

准备家伙事儿

先确认你电脑上已经装好这些必备品:

Truffle框架快速搭建区块链项目教程

  • Node.js(建议v16+)
  • npm(Node自带的包管理器)
  • 随便找个顺手的代码编辑器(VS Code用的人最多)

安装Truffle全家桶

打开终端,咱先来个三连安装:

npm install -g trufflenpm install -g ganache-clinpm install @openzeppelin/contracts

小贴士:如果遇到权限问题,试试在命令前加sudo

创建你的处女项目

找个喜欢的目录执行:

mkdir my_first_dappcd my_first_dapptruffle init

这时候会生成这些文件夹:

contracts存智能合约的
migrations部署脚本
test测试文件

搞个简单的智能合约

在contracts文件夹里新建MyToken.sol

// SPDX-License-Identifier: MITpragma solidity ^0.8.0;contract MyToken {mapping(address => uint256) public balances;constructor {balances[msg.sender] = 1000000;function transfer(address to, uint256 amount) public {require(balances[msg.sender] >= amount);balances[msg.sender] -= amount;balances[to] += amount;}

配置你的区块链网络

打开truffle-config.js,咱们重点看这几个配置项:

development本地开发用127.0.0.1:8545
compilersSolidity版本和合约里声明的一致

启动本地区块链

新开个终端窗口运行:

ganache-cli

看到10个测试账户和助记词出现,说明启动成功!

编译与部署

在项目根目录执行:

truffle compiletruffle migrate --network development

这时候应该能看到合约地址和交易哈希,说明部署成功啦!

写个测试脚本更保险

在test文件夹新建mytoken.test.js

const MyToken = artifacts.require("MyToken");contract("MyToken", (accounts) => {it("应该初始发行100万代币", async  => {const instance = await MyToken.deployed;const balance = await instance.balances(accounts);assert.equal(balance, 1000000);});it("应该能正常转账", async  => {const instance = await MyToken.deployed;await instance.transfer(accounts, 500, { from: accounts });const balance1 = await instance.balances(accounts);const balance2 = await instance.balances(accounts);assert.equal(balance1, 999500);assert.equal(balance2, 500);});});

跑测试就用这个命令:

truffle test

搞定!现在你的区块链项目已经在本地跑起来了,接下来可以继续折腾更多功能啦。有什么问题随时欢迎交流,开发路上一起打怪升级!

郑重声明:以上内容均源自于网络,内容仅用于个人学习、研究或者公益分享,非商业用途,如若侵犯到您的权益,请联系删除,客服QQ:841144146

相关推荐

返回顶部