Truffle入门:手把手学智能合约开发

Truffle入门:手把手学智能合约开发

作者:马道游戏网 / 发布时间:2026-01-01 18:58:00 / 阅读数量:0

手把手教你用Truffle玩转智能合约

记得去年我刚接触区块链那会儿,光是配置开发环境就折腾了三天。现在想想,要是当时有人能给我一份说人话的教程,估计能少掉不少头发。今天咱们就来唠唠怎么用Truffle这个神器,从零开始捣鼓个能跑起来的智能合约。

准备你的数字工具箱

先别急着写代码,咱们得把趁手的工具备齐。就像做饭得先买菜,搞区块链开发也得先装几个核心组件:

  • Node.js (建议装LTS版本)
  • Ganache本地区块链模拟器
  • MetaMask 浏览器插件

打开终端敲这行命令,把Truffle全家桶请进门:

npm install -g truffle

创建你的第一个项目

新建个文件夹叫my_first_dapp,进去执行:

truffle init

这时候你会看到生成这几个目录:

contracts放.sol合约文件的地方
migrations部署脚本的老窝
test测试用例的游乐场

写个会打招呼的合约

在contracts目录新建Greeter.sol,上代码:

pragma solidity ^0.8.0;contract Greeter {string public greeting;constructor(string memory _greeting) {greeting = _greeting;function setGreeting(string memory _newGreeting) public {greeting = _newGreeting;}

配置部署参数

打开truffle-config.js,找到networks部分改成这样:

Truffle入门:手把手学智能合约开发

networks: {development: {host: "127.0.0.1",port: 8545,network_id: "}

让合约上链跑起来

先启动Ganache,然后在项目里执行:

truffle migrate

看到类似这样的输出就妥了:

Summary=======> Total deployments:   1> Final cost:          0.00155442 ETH

测试你的合约

在test目录新建greeter_test.js

const Greeter = artifacts.require("Greeter");contract("Greeter", (accounts) => {it("应该能正确设置问候语", async  => {const instance = await Greeter.deployed;await instance.setGreeting("你好,区块链!");assert.equal(await instance.greeting, "你好,区块链!");});});

运行测试:

truffle test

用Web3.js和合约聊天

先装个web3包:

npm install web3

新建个index.html

我的第一个DApp

获取合约身份证

在部署成功的输出里找到这两个关键信息:

  • ABI合约的接口说明书
  • 合约地址合约在链上的门牌号

常见坑点指南

这些是我踩过的雷,你记得绕道走:

Gas费不足在Ganache里把账户余额调高
交易卡住检查MetaMask是否连接了本地网络
ABI不匹配重新编译后务必更新前端ABI

现在试着在浏览器里打开你的网页,输入个新问候语点击按钮。如果MetaMask弹出交易确认窗口,恭喜你!已经成功打通了前端和智能合约的任督二脉。

要是卡在哪儿了,不妨去喝杯咖啡再回来看看。区块链开发就是这样,有时候需要给节点同步留点时间。推荐《精通以太坊》当睡前读物,里面有不少实战干货。

相关阅读

一、为什么我要挑战暗黑风格?去年冬天,我在《血源诅咒》里被某个BOSS虐了27次后,突然萌生了做暗黑风游戏的想法。那些潮湿的石板路、忽明忽暗的火把,还有总在转角出现的低语声,像块磁铁似的吸住了我。1.1 找到你的"游戏基因"我掏出手机备忘录…
早上刚泡了杯咖啡,看到游戏里帮会频道又在讨论新副本开荒,突然想起三年前自己刚入坑时连属性加点都要查半天的日子。今天就跟大伙儿唠唠这些年总结的干货,从选角色到打架抢BOSS,咱们一条龙说透。一、角色养成:选对门派就成功了一半记得当初创建角色时…
手把手教你制作《WHEREHW》解谜游戏一、从厨房餐桌开始的游戏世界我的咖啡杯在桌上留下深褐色的圆印,就像游戏地图上未探索的区域。三周前,当我在笔记本写下"WHEREHW"这个标题时,完全没料到自己会踏上一段比游戏剧情更曲折的开发之旅。1.…
一、先别急着打歌!这些基础设定你必须懂上周我在咖啡厅看到隔壁桌的小哥玩《节奏大爆炸》,他戴着降噪耳机疯狂搓屏幕的样子特别像在给手机做心肺复苏。结果结算时连B评级都没拿到——这场景让我想起自己刚入坑时的惨痛经历。1. 音符家族的秘密聚会游戏里…
上周六早上,我正对着咖啡杯发愣时,手机突然弹出提醒:"您连续三天没做数独练习了"。这个自己设置的温馨小闹钟,让我想起最初接触数独的糗事——那年暑假在图书馆,我看着报纸上的九宫格,以为这是给小学生做的加减法作业。当数字遇见格子1984年春天,…