npm 包 truffle 使用教程

介绍

truffle 是一个针对以太坊智能合约的开发框架,提供了开发、测试、部署智能合约的工具链,可以用于快速开发以太坊智能合约。本文将介绍如何通过 npm 安装 truffle,以及使用 truffle 开发以太坊智能合约的基本流程。

安装 truffle

truffle 可以通过 npm 进行安装,输入以下命令即可:

--- ------- -- -------

基本流程

创建项目

使用 truffle 创建项目非常方便,只需要在命令行输入以下命令:

------- ----

这将在当前目录下创建一个新的项目,并生成如下的目录结构:

--- ----------
-   --- --------------
--- -----------
-   --- ----------------------
--- -----
--- -----------------
--- ----------

其中,contracts 目录用于存放智能合约的目录,migrations 用于存放合约迁移脚本,test 存放测试脚本,truffle.js 或者 truffle-config.js (取决于你的系统)则用于配置 truffle。

编写智能合约

contracts 目录下创建一个新的 Solidity 智能合约文件,例如 SimpleStorage.sol

------ -------- -------

-------- ------------- -
    ------- ------ -----------

    -------- ----------- -- ------ -
        ---------- - --
    -
-

此时,我们已经完成了一个最简单的智能合约的编写,用于存储一个无符号整数类型的数据,我们可以通过 set 方法来更新这个数据。

编写迁移脚本

truffle 的迁移脚本用于控制智能合约的部署,可以同时部署多个智能合约,按照约定,每一个迁移脚本都应当包含一个 deploy 方法。

migrations 目录下新建一个 JavaScript 文件 2_deploy_simplestorage.js,编写如下内容:

----- ------------- - -----------------------------------

-------------- - ---------- -- -
  -------------------------------
-

此时,我们就定义了一个迁移脚本来部署我们所编写的智能合约。

编译和部署

在项目的根目录下,输入以下命令来完成智能合约的编译:

------- -------

接着,我们使用以下命令来部署合约:

------- -------

这将会在区块链上部署我们所编写的智能合约。

与智能合约进行交互

我们可以通过 truffle 的控制台来与已部署的智能合约进行交互。输入以下命令进入控制台:

------- -------

在控制台中输入以下命令,可以查看我们所已经部署的智能合约:

-------------------------------------- -- ---------------------- - -----------

---------------------

我们可以使用 set 方法来修改智能合约中的值:

-----------------------------

通过 storedData 方法可以查看修改后的值:

----------------------------------

结论

本文介绍了如何使用 npm 包 truffle 来快速开发以太坊智能合约,通过编写智能合约、编写迁移脚本、编译和部署等步骤,让你可以快速开发、测试、部署智能合约。truffle 的使用可以提高以太坊开发的效率,对于完整的区块链应用开发有重要的意义。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/72542


猜你喜欢

  • npm 包 fs-grep 使用教程

    前言 在前端开发中,文件操作是一个非常常见的需求,例如读取和写入文件、搜索指定内容等等。fs-grep 是一个 Node.js 的 npm 包,提供了在指定目录下搜索指定内容的功能。

    5 年前
  • npm 包 node-mkdirp 使用教程

    前言 在前端开发中,我们会遇到很多需要创建文件夹的场景,比如本地调试时需要创建临时文件夹,或者是将一些图片或音频资源下载到本地需要创建对应的文件夹,这时我们就需要一个方便快捷的工具来创建文件夹。

    5 年前
  • npm 包 wrapper-webpack-plugin 使用教程

    在前端开发中,我们常常需要在打包后的文件中添加一些特定的脚本或者样式,例如一些用于监控或者统计页面访问的脚本。而 wrapper-webpack-plugin 这个 npm 包就提供了一种非常方便快捷...

    5 年前
  • npm 包 rdflib 使用教程

    什么是 rdflib rdflib 是一个 JavaScript 库,根据 RDF 标准来处理数据。RDF 是一种元数据模型,可以用于描述各种资源之间的关系。因此,rdflib 可以被用于处理各种语义...

    5 年前
  • npm 包 owasp-password-strength-test 使用教程

    密码强度是我们在前端开发中经常涉及的一个问题。现在,有许多 npm 包可以用来检测密码的强度。其中一个比较有名的就是 owasp-password-strength-test。

    5 年前
  • npm 包 oidc-op-express 使用教程

    简介 oidc-op-express 是一个基于 Express.js 的 OpenID Connect Provider(OIDC Provider)库。 本文将详细介绍 oidc-op-expre...

    5 年前
  • npm 包 the-big-username-blacklist 使用教程

    在前端开发中,经常需要对用户输入的用户名进行校验。但是,有些用户名是不被允许的,比如包含敏感词,或者已经被占用了。这时候,我们就需要一个黑名单库,来帮助我们判断该用户名是否合法。

    5 年前
  • npm 包 turtle-validator 使用教程

    什么是 turtle-validator turtle-validator 是一个基于 JavaScript 编写的 npm 包,用于进行表单验证。通过使用 turtle-validator,可以方便...

    5 年前
  • npm 包 solid-server 使用教程

    什么是 solid-server Solid 是一种新型的去中心化 Web 应用系统,它基于万维网标准,并赋能用户掌控自己的数据。 solid-server 是 Solid 服务器端的实现,它将用户的...

    5 年前
  • npm 包 monowrap 使用教程

    在前端开发领域,npm 是一个非常重要的资源管理工具。npm 生态系统中有许多非常有用的包,其中 monowrap 就是一款非常实用的 npm 包。本文将介绍 monowrap 的使用。

    5 年前
  • npm 包 log-rotate 使用教程

    前言 在日志文件维护中,日志文件大小的管理一直是一个比较重要的问题。当日志文件过大时,根据不同业务需求的时效性要求,往往需按时间、文件大小、文件数量等方式进行维护。

    5 年前
  • npm 包 byt 使用教程

    前言 npm 包 byt 是一个简化了 Node.js Buffer API 的包装器,使得操作 Buffer 更加易用。它提供了丰富的转换和操作功能,能够大大提高 Node.js 开发人员的工作效率...

    5 年前
  • npm 包 logrotate-stream 使用教程

    前言 在日常前端开发中,我们时常需要记录日志。但是随着时间的推移,日志文件会越来越大,不仅占用磁盘空间,而且在查找问题时也会变得困难。为此,我们需要将日志文件进行轮换,使得旧文件可以被删除,同时也保留...

    5 年前
  • npm包panel-bridge-client使用教程

    在前端开发中,我们常常需要将不同的组件拼接在一起形成一个完整的页面。对于不同的组件,我们通常会使用不同的框架或库进行开发。但是,不同的框架或库之间相互独立,如何实现它们之间的通信呢? 这时候,就可以使...

    5 年前
  • npm 包 mahardika-mindmaps 使用教程

    如果你正在寻找一个轻量级的 JavaScript 库来构建思维导图,那么 mahardika-mindmaps 可能是一个不错的选择。该库仅仅有 4KB,却提供了丰富的功能来帮助你创建和编辑思维导图。

    5 年前
  • NPM 包 grunt-assets-inline 使用教程

    在前端开发中,常常需要将 CSS、JS 等静态资源内联在 HTML 文件中,减少浏览器请求次数,以提高页面加载速度。手动处理这些文件非常繁琐,因此我们需要使用工具来自动化这个过程。

    5 年前
  • npm 包 gulp-clearbuild 使用教程

    在前端开发过程中,我们经常需要使用相关的构建工具来编译、转换、优化代码,以及打包等操作。其中,gulp 是目前使用最广泛的构建工具之一,它的插件系统非常丰富,可以满足开发者的大部分需求。

    5 年前
  • npm 包 lego-sql 使用教程

    介绍 在前端开发中,与数据库交互的场景时常遇到。而 npm 包 lego-sql 就提供了一种便捷的处理 SQL 查询语言的方式,为前端开发带来了极大的便利。 lego-sql 使用了类似于 lego...

    5 年前
  • npm 包 type-check-system 使用教程

    在前端开发中,我们经常会遇到需要对变量的类型进行校验的情况。虽然 JavaScript 是动态类型语言,但是在大型项目或者高质量的代码中,类型的检查是非常必要的。为了解决这个问题,我们可以使用 npm...

    5 年前
  • npm 包 esh-qn 使用教程

    npm 包 esh-qn 使用教程 在前端开发中,我们经常需要上传图片到服务器,从而给用户提供更好的体验和更丰富的内容展示。而七牛云就是一个很好的图片上传服务器,提供了丰富的 API 接口以供开发者使...

    5 年前

相关推荐

    暂无文章