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
相关推荐
程序员猫哥3 分钟前
前端开发,一句话生成网站
前端
Younglina23 分钟前
一个纯前端的网站集合管理工具
前端·vue.js·chrome
木头程序员25 分钟前
前端(包含HTML/JavaScript/DOM/BOM/jQuery)基础-暴力复习篇
开发语言·前端·javascript·ecmascript·es6·jquery·html5
卖火箭的小男孩26 分钟前
# Flutter Provider 状态管理完全指南
前端
小雨青年27 分钟前
鸿蒙 HarmonyOS 6|ArkUI(01):从框架认知到项目骨架
前端
Null15529 分钟前
浏览器唤起本地桌面应用(基础版)
前端·浏览器
pas13644 分钟前
31-mini-vue 更新element的children
前端·javascript·vue.js
wordbaby1 小时前
TanStack Router 实战:如何构建经典的“左侧菜单 + 右侧内容”后台布局
前端·react.js
oMcLin1 小时前
如何在 RHEL 7 上优化 Nginx 与 PHP‑FPM 配置,确保高并发 Web 应用的稳定性与响应速度?
前端·nginx·php
Taiyuuki1 小时前
WebGPU 开发者福音!在 VS Code 中实时预览你的WGSL着色器作品
前端·gpu·图形学