搭建智能合约开发环境
开发环境是一种环境,其中所有资源和工具都可用于开发程序或软件产品。在这里,尝试创建一个开发环境,该环境是用于开发智能合约的流程和工具的集合。
设置开发智能合约的环境主要有两种选择:
- 在线 IDE:这是一个快速、简单且对初学者友好的在线 IDE,用于开发智能合约。当我们深入开发智能合约时,由于其局限性,不建议使用在线 IDE 设置。
- 本地设置:所有工具和软件包都安装在用于构建智能合约的本地机器上。
本文重点讨论如何设置本地开发环境来执行智能合约。
智能合约
智能合约是以程序形式构建的商业合约,部署在区块链网络上,程序执行所需的计算由区块链网络提供。智能合约的目标是减少对可信中间人的需求、仲裁和执行成本、欺诈损失,以及减少恶意和意外异常。
本地环境设置所需的工具:
为智能合约设置本地环境需要以下工具:
- NodeJS :它是一个免费的、开源的服务器环境,通过在服务器上使用 JavaScript 在各种平台上运行。
- Truffle Suite:它是一流的开发环境、测试框架和使用以太坊虚拟机 (EVM) 的区块链资产管道,旨在让开发人员的生活更轻松。
- Ganache:它是一个以太坊开发工具,是 Truffle Suite 的一部分,在寻找以太坊 dapps 测试工具时,它是满足开发人员要求的最佳工具。
- Visual Studio Code:它是 Microsoft 提供的最强大的 IDE,具有多种开发选项。
按照以下步骤安装所需的工具
安装 NodeJS:
Node.js是一个免费的开源服务器环境,可在各种平台(Windows、Linux、Mac OS 等)上运行,并在服务器上使用 javascript。作为异步事件驱动的 javascript 运行时,Node.js 旨在构建可扩展的网络应用程序。
- 单击链接 Node.js。
- 选择安装程序的类型,Windows 或 macOS。
- 安装在系统上下载的文件。
- 通过在命令提示符下执行“ node -v ”和“ npm -v ”来验证安装。
在系统上安装 Node.js 时,还会安装npm(Node 包管理器) ,用于使用命令提示符安装各种包。我们可以
安装松露套件:
Truffle Suite是使用以太坊虚拟机 (EVM) 的世界级区块链开发环境、测试框架和资产管道,旨在让开发人员的生活更轻松。
要安装 TRUFLLE SUITE,我们在命令提示符下使用 npm 命令 -
npm install truffle -g
安装 Ganache(单节点本地以太坊网络):
- 下载 Ganache 设置。
- 安装设置并在快速启动模式下运行 Ganache,将出现以下屏幕。
- 上面的屏幕截图显示了一些余额为 100 以太币的账户。已经由 Ganache 创建,为了自定义运行 ganache 测试以太坊节点,请单击 ganache 工具右上角的齿轮图标,应该可以看到以下屏幕。
- 端口和网络id可以自定义,自定义后请点击左上角重启按钮。
- 这将重新初始化节点并且 RPC 位置将是http://[host-name]:[port] 。在上面屏幕中看到的设置的情况下,RPC 端点将是 http://127.0.0.1:7545。
- Ganache 安装正在运行,并且可以使用上述 RPC 端点进行交互。
安装 Visual Studio 代码:
Visual Studio Code 一直是微软为 Solidity 智能合约开发提供的最佳 IDE 之一。 Visual Studio 代码可以从这里下载。
安装 Solidity:
Solidity 是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态内账户行为的程序。 Solidity 是静态类型的,支持继承、库和复杂的用户定义类型以及其他功能。使用 Solidity,您可以创建用于投票、众筹、盲拍和多重签名钱包等用途的合约。部署合约时,您应该使用最新发布的 Solidity 版本。
- 安装 VS 代码后,从扩展部分安装 Solidity 扩展。
- 在您的 VS 代码上安装solidity 扩展后,您就可以构建您的第一个智能合约了。
构建第一个智能合约:
第 1 步:在 VS 代码中打开命令提示符终端并输入 command-
mkdir hello-world
cd hello-world
第二步:通过执行命令生成智能合约的模板——
truffle init
第 3 步:现在,通过执行命令创建 HelloWorld.sol 文件 -
truffle create contract HelloWorld
第 4 步:现在将以下代码复制或键入到您的代码编辑器中。
Solidity
// Solidity program to create
// Hello World program
pragma solidity >=0.4.22 <0.9.0;
contract HelloWorld
{
string message;
constructor() public
{
message = "Hello World!";
}
function SayHello() view public returns (string memory)
{
return message;
}
}
第5步:输入以上代码后执行命令-
truffle compile
该命令将编译你的solidity程序并创建一个名为“build”的新文件夹,并将显示以下输出 -