truffle安装

一、环境准备

  1. 安装Node.js

    • 需安装Node.js 14及以上版本(推荐16或18 LTS)6

    • 验证安装:

      css 复制代码
      bashCopy Code
      node -v
      npm -v
  2. 更新npm

    css 复制代码
    bashCopy Code
    npm install -g npm

二、Truffle安装

  1. 全局安装Truffle

    css 复制代码
    bashCopy Code
    npm install -g truffle
    • 验证安装:truffle version56
  2. 可选工具Ganache

    • 桌面版:从Ganache官网下载

    • CLI版:

      css 复制代码
      bashCopy Code
      npm install -g ganache-cli

三、项目创建

  1. 初始化空项目

    bash 复制代码
    bashCopy Code
    mkdir my_project && cd my_project
    truffle init
    • 生成目录结构:

      ini 复制代码
      textCopy Code
      contracts/    # Solidity合约目录
      migrations/   # 部署脚本目录
      test/         # 测试文件目录
      truffle-config.js  # 配置文件
      ```:ml-citation{ref="3,4" data="citationList"}
  2. 使用模板项目(推荐)

    bash 复制代码
    bashCopy Code
    truffle unbox metacoin  # 官方MetaCoin示例

    或Webpack模板:

    ini 复制代码
    bashCopy Code
    truffle unbox webpack
      ```:ml-citation{ref="2,7" data="citationList"}

四、开发流程

  1. 编写合约

    • contracts/目录下创建.sol文件(如MyContract.sol

    • 示例代码结构:

      ini 复制代码
      solidityCopy Code
      pragma solidity .8.0;
      contract MyContract {
          // 合约逻辑
      }
      ```:ml-citation{ref="3" data="citationList"}
  2. 编译合约

    css 复制代码
    bashCopy Code
    truffle compile
    • 生成ABI和字节码到build/contracts/5
  3. 部署合约

    • 配置truffle-config.js中的网络设置(如Ganache)

    • 运行部署:

      ini 复制代码
      bashCopy Code
      truffle migrate
      ```:ml-citation{ref="4,5" data="citationList"}

truffle migrate --reset 覆盖部署第二个 Truffle exec .\scripts\test Truffle exec E:\workspace\truffle\test\test.js

五、测试与调试

  1. 运行测试

    bash 复制代码
    bashCopy Code
    truffle test
    • 支持JavaScript和Solidity测试脚本7
  2. 控制台交互

    css 复制代码
    bashCopy Code
    truffle console
    • 可直接调用合约方法3

jq 下载地址 github.com/stedolan/jq... Git Bash 用户注意 ‌:需将 jq.exe 放入 Git 安装目录的 mingw64\bin 下4。

scss 复制代码
npm install -g solc

生成abi 文件
jq ".abi" build/contracts/StudentStorage.json > build/StudentStorage.abi
//生成go
abigen --combined-json build/contracts/StudentStorage.json --pkg=store --out=StudentStorage.go
  1. 安装jq工具
    jq是轻量级JSON处理命令行工具,支持数据提取和格式转换。在Linux系统中可通过sudo apt-get install jqyum install jq安装,MacOS使用brew install jq56。
  2. 全局安装Solidity编译器
    npm install -g solc通过Node.js包管理器全局安装Solidity编译器,使开发者能在任何目录使用solc命令编译智能合约28。安装后可通过solc --version验证版本2。
  3. 提取ABI文件
    jq ".abi" build/contracts/StudentStorage.json > build/StudentStorage.abi
    使用jq从合约编译产物中提取ABI(应用二进制接口)并保存为独立文件。ABI定义了合约方法与参数结构,是调用合约的必要描述文件34。
  4. 生成Go语言绑定
    abigen --combined-json build/contracts/StudentStorage.json --pkg=store --out=StudentStorage.go
相关推荐
清山博客6 小时前
OpenCV 人脸识别和比对工具
前端·webpack·node.js
要加油哦~6 小时前
AI | 实践教程 - ScreenCoder | 多agents前端代码生成
前端·javascript·人工智能
程序员Sunday6 小时前
说点不一样的。GPT-5.3 与 Claude Opus 4.6 同时炸场,前端变天了?
前端·gpt·状态模式
yq1982043011566 小时前
静思书屋:基于Java Web技术栈构建高性能图书信息平台实践
java·开发语言·前端
aPurpleBerry6 小时前
monorepo (Monolithic Repository) pnpm rush
前端
青茶3606 小时前
php怎么实现订单接口状态轮询请求
前端·javascript·php
鹏北海6 小时前
micro-app 微前端项目部署指南
前端·nginx·微服务
发现一只大呆瓜6 小时前
虚拟列表:从定高到动态高度的 Vue 3 & React 满分实现
前端·vue.js·react.js
css趣多多6 小时前
add组件增删改的表单处理
java·服务器·前端
证榜样呀6 小时前
2026 大专计算机专业必考证书推荐什么
大数据·前端