以太坊应用开发24步
1. 安装go-ethereum
brew install ethereum
2. 安装solidity
brew install solidity
=====
3. 启动go-ethereum
geth --datadir “~/ethdev” --dev
4. 进入go-ethereum终端,日志输出到file_to_log_output
geth --dev console 2>>file_to_log_output
5. 创建新帐户,密码为111111,可以创建多个帐户
personal.newAccount(‘111111’)
6. 把帐户赋给变量,方便记忆。也可以直接用帐户地址”0x……”
account1=eth.accounts[0]
6. 开始挖以太矿,可以用miner.stop()停止
miner.start()
7. 查看日志文件file_to_log_output
tail -f file_to_log_output
8. 解锁帐号权限
personal.unlockAccount(account1,’111111’)
9.发送交易,帐号1向帐号2转移3以太币
eth.sendTransaction({from: account1,to: account2,value: web3.toWei(3,"ether")})
=====
10.编写test智能合约,包含multiply函数,赋给source变量
source = "contract test { function multiply(uint a) returns(uint d) { return a * 7; } }"
11.编译test智能合约
contract = eth.compile.solidity(source).test
12.创建合约ABI接口,可以自定义,也可以使用contract.info.abiDefinition
abi = [{constant:false,inputs:{name:'a',type:'uint256'}}]
13.通过合约ABI接口创建合约类
Contract1 = eth.contract(abi)
Contract2 = eth.contract(contract.info.abiDefinition)
14.合约类通过帐户和智能合约字节码创建合约实例,就是一个交易,交易发送到区块链后,会得到一个地址
instanceContract1= Contract1.new({from:account1,data:contract.code})
合约类也可以用现有合约实例的地址创建合约实例
instanceContract2= Contract2.at(instanceContract1.address)
15.通过call()调用,测试合约函数结果
instanceContract1.multiply.call(3)
16.通过sendTransaction()调用,改变合约状态,合约将会使调用的结果成为全局共识的一部分。
instanceContract1.multiply.sendTransaction(3, {from:account1})
=====
17.安装Truffle
npm install -g truffle
18.安装Testrpc
npm install -g ethereumjs-testrpc
19. 新建项目
mkdir project
cd project
truffle init
20.编译项目
truffle compile
21.启动TestRPC
testrpc
22.部署项目
truffle migrate
23.启动服务
truffle serve
24.访问项目
http://localhost:8080/
=====
以太坊应用开发24步相关推荐
- 以太坊DApp开发环境搭建
2019独角兽企业重金招聘Python工程师标准>>> 以太坊DApp开发环境搭建分为Ubuntu.Windows.mac下的搭建.目的为开发者提供一个以太坊开发.测试的搭建开发环境 ...
- 以太坊DApp开发入门教程——Node.js和truffle框架打造区块链投票系统
第一节 课程概述 本课程面向初学者,内容涵盖以太坊开发相关的基本概念,并将手把手地教大家如何构建一个 基于以太坊的完整去中心化应用 -- 区块链投票系统. 通过本课程的学习,你将掌握: 以太坊区块链的 ...
- 以太坊Dapp开发通过truffle部署合约
以太坊Dapp开发通过truffle部署合约 Truffle是一个非常流行 DApp 开发框架,他可以帮我们处理掉大量无关紧要的小事情,让我们可以迅速开始写代码-编译-部署-测试-打包DApp这个流程 ...
- 以太坊java开发指南_java以太坊开发库ethereumj
EthereumJ是以太坊协议的纯Java实现.有关以太坊及其目标的高级信息,请访问ethereum.org,其 白皮书 提供了一个完整的概念的概述,和 黄皮书 一起提供了协议的正式定义. 我们尽可能 ...
- 以太坊应用开发JSON-PRC接口
以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约.以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用 ...
- 以太坊钱包开发系列3 - 展示钱包信息及发起签名交易
最新内容会更新在主站深入浅出区块链社区 原文链接:使用 ethers.js 开发以太坊 Web 钱包 3 - 展示钱包信息及发起签名交易) 以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际 ...
- 以太坊钱包开发系列4 - 发送Token(代币)
以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号.账号Keystore文件导入导出.展示钱包信息及发起签名交易.发送Tok ...
- 以太坊本地开发环境搭建
本文所搭建的环境是在 Mac 上的开发环境,其他操作系统上与此非常相似,依然有参考价值. 作为一枚区块链开发工程师,本地的开发环境是必不可少的.我们首先看看需要哪些工具: go-ethereum so ...
- 以太坊ETH开发资源合集
本页为以太坊开发者提供入门指南.学习资源以及开发工具. ↳ 入门指南 如果想对以太坊有更加宏观的认识, 请浏览 ethereum.org/zh/learn. Getting up to speed o ...
最新文章
- FTP服务器的防火墙通用设置规则
- Valgrind使用说明
- 引用的定义、使用及其和指针的区别与联系
- 某聊天工具消息记录数据库文件解密逆向分析
- 【模拟】生日蛋糕(jzoj 1613)
- selenium使用js进行点击
- win7删除微软拼音输入法
- CentOS 7操作系统之Docker安装
- 开源中国WP7客户端全面开源,包括iPhone客户端与Android
- Python模块之optparse
- 中国绝缘胶带市场趋势报告、技术动态创新及市场预测
- python写出租车计费系统_出租车计费系统设计 Java
- RedHat下载安装JDK的方法(方法二)
- linux下ssh工具自动登录的实现
- 转载:联想小新进入BIOS方法
- 软件外包项目如何承接
- Java封装和多态作业
- Hadoop题库(选择题、判断题)详细介绍
- 青蛙跳台阶python解法
- 乐视清空酷派股份;B站将于2018年赴美上市;苹果关闭所有iPhone降级通道丨价值早报