主页 > imtoken苹果版官网下载 > 以太坊智能合约 helloworld
以太坊智能合约 helloworld
一、开发环境
ubuntu16.04 64位
2.准备_wget2.1 查看当前CPU架构
wget 是一个免费的工具,用于自动从 Internet 下载文件。 所谓自动下载就是wget可以在用户退出系统后继续在后台执行,直到下载任务完成。
在终端执行如下命令,判断是32位架构还是64位架构:
~$ uname –p
x86_64
如果你看到 x86_64 输出,那么它是一个 64 位系统,否则就是 32 位。
2.2 下载wget
确保你已经安装了下载工具wget:
~$ wget –VGNU Wget1.17.1builtonlinux-gnu
如果未安装 wget以太坊部署合约,请使用 apt-get 安装它
~$ sudo apt-get 安装 wget
3、安装DApp开发环境 3.1 安装Node.js
安装nodejs 8.x版本:
卷曲-sL | 须藤 -E 庆典 -
sudo apt-get install -y nodejs
这样就直接安装到系统环境/usr/bin目录下,然后使用npm -g安装的其他插件也会安装到/usr/lib/node_modules'(需要sudo权限)'。
检查节点版本
./节点-v
3.2 安装节点模拟器
为了快速开发和测试以太坊DApps,我们通常使用以太坊节点模拟器来模拟区块链。 最流行的节点模拟器是 Ganache,以前称为 TeseRPC。
在终端中执行以下命令:
~$ npminstall –g ganache-cli
安装完成后,执行命令验证是否安装成功:
~$ ganache-cli
Ganache CLI v6.0.3 (ganache-core:2.0.2)
ganache-cli 自动创建了 10 个测试账户,每个账户预分配了 100 个(虚构的)以太币
3.3 安装solidity编译器
Solidity 是一种用于开发以太坊智能合约的编程语言。
~$ npm install –g solc
安装完成后,执行命令验证是否安装成功
~$ solcjs --version
0.4.24+commit.e67f0147.Emscripten.clang
3.4 安装web3
分布式网络。 简单来说,web3 就是没有中心化服务器和数据库的 web2。
~$ npm install web3@0.20.2
安装验证:
~$ node –p 'require("web3")'
{[功能:Web3]
供应商:{...}}
3.5 安装truffle框架
执行以下命令安装truffle开发框架:
~$ npm 安装-g 松露
验证安装:
~$ 松露版
松露 v4.1.3 (core4.1.3)
3.6 安装webpack
WebPack可以看作是一个模块打包器:它所做的就是分析你的项目结构,找到浏览器不能直接运行的JavaScript模块和其他扩展语言(Scss、TypeScript等),并将它们转换并打包成合适的格式供浏览器使用。
执行以下命令安装 webpack:
~$ npm install –g webpack@3.11.0
验证安装
~$ webpack –v
3.11.0
4. 构建示例工程 4.1 新建DApp工程
执行以下命令创建项目目录并进入该目录:
~$ mkdir 演示
~$ CD演示
然后用webpack模板初始化项目骨架结构:
~/demo$ truffle unbox webpack //用模板创建一个新项目
正在下载...
开箱……
配置…
开箱成功。 甜的!
4.2 安装项目依赖的npm包
执行以下命令安装nmp包:
~/演示 $ npm 安装
4.3 修改truffle配置
在truffle.js中修改端口为8545,因为ganache-cli监听8545端口:
module.exports= { 网络:{ 开发:{ ... 端口:8545 ... } }}
4.4 启动节点
执行以下命令启动节点模拟器以部署合约并执行交易:
~/demo$ ganache-cli
4.5 编译合约
执行以下命令编译项目合约:
~/demo$ 松露编译
4.6 部署合约
执行以下命令部署合约:
~/demo$ 松露迁移
4.7 启动DApp
执行以下命令启动 DApp:
~/demo$ npm run dev
浏览器访问:8080
如果你想从其他机器访问你的 DApp 应用程序以太坊部署合约,修改 package.json:
{脚本:{“dev”:“webpack-dev-server –-host 0.0.0.0”}}