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
相关推荐
专注前端30年5 分钟前
如何使用 HTML5 的 Canvas + JavaScript 实现炫酷的游戏得分特效?
前端·javascript·游戏·html5·canvas·canva可画
q***06298 分钟前
解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
java·前端·spring
木易 士心34 分钟前
深入理解 CSS 中的 !important
前端·css
行走的陀螺仪1 小时前
GitLab CI/CD 完整教学指南
前端·ci/cd·gitlab·团队开发·自动化测试部署
谢尔登1 小时前
Webpack高级之常用配置项
前端·webpack·node.js
helloyangkl1 小时前
前端——不同环境下配置env
前端·javascript·react.js
竹秋…1 小时前
webpack搭建react开发环境
前端·react.js·webpack
以明志、2 小时前
并行与并发
前端·数据库·c#
提笔了无痕2 小时前
go web开发表单知识及表单处理详解
前端·后端·golang·web
甜味弥漫2 小时前
JavaScript新手必看系列之预编译
前端·javascript