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步相关推荐

  1. 以太坊DApp开发环境搭建

    2019独角兽企业重金招聘Python工程师标准>>> 以太坊DApp开发环境搭建分为Ubuntu.Windows.mac下的搭建.目的为开发者提供一个以太坊开发.测试的搭建开发环境 ...

  2. 以太坊DApp开发入门教程——Node.js和truffle框架打造区块链投票系统

    第一节 课程概述 本课程面向初学者,内容涵盖以太坊开发相关的基本概念,并将手把手地教大家如何构建一个 基于以太坊的完整去中心化应用 -- 区块链投票系统. 通过本课程的学习,你将掌握: 以太坊区块链的 ...

  3. 以太坊Dapp开发通过truffle部署合约

    以太坊Dapp开发通过truffle部署合约 Truffle是一个非常流行 DApp 开发框架,他可以帮我们处理掉大量无关紧要的小事情,让我们可以迅速开始写代码-编译-部署-测试-打包DApp这个流程 ...

  4. 以太坊java开发指南_java以太坊开发库ethereumj

    EthereumJ是以太坊协议的纯Java实现.有关以太坊及其目标的高级信息,请访问ethereum.org,其 白皮书 提供了一个完整的概念的概述,和 黄皮书 一起提供了协议的正式定义. 我们尽可能 ...

  5. 以太坊应用开发JSON-PRC接口

    以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约.以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用 ...

  6. 以太坊钱包开发系列3 - 展示钱包信息及发起签名交易

    最新内容会更新在主站深入浅出区块链社区 原文链接:使用 ethers.js 开发以太坊 Web 钱包 3 - 展示钱包信息及发起签名交易) 以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际 ...

  7. 以太坊钱包开发系列4 - 发送Token(代币)

    以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号.账号Keystore文件导入导出.展示钱包信息及发起签名交易.发送Tok ...

  8. 以太坊本地开发环境搭建

    本文所搭建的环境是在 Mac 上的开发环境,其他操作系统上与此非常相似,依然有参考价值. 作为一枚区块链开发工程师,本地的开发环境是必不可少的.我们首先看看需要哪些工具: go-ethereum so ...

  9. 以太坊ETH开发资源合集

    本页为以太坊开发者提供入门指南.学习资源以及开发工具. ↳ 入门指南 如果想对以太坊有更加宏观的认识, 请浏览 ethereum.org/zh/learn. Getting up to speed o ...

最新文章

  1. FTP服务器的防火墙通用设置规则
  2. Valgrind使用说明
  3. 引用的定义、使用及其和指针的区别与联系
  4. 某聊天工具消息记录数据库文件解密逆向分析
  5. 【模拟】生日蛋糕(jzoj 1613)
  6. selenium使用js进行点击
  7. win7删除微软拼音输入法
  8. CentOS 7操作系统之Docker安装
  9. 开源中国WP7客户端全面开源,包括iPhone客户端与Android
  10. Python模块之optparse
  11. 中国绝缘胶带市场趋势报告、技术动态创新及市场预测
  12. python写出租车计费系统_出租车计费系统设计 Java
  13. RedHat下载安装JDK的方法(方法二)
  14. linux下ssh工具自动登录的实现
  15. 转载:联想小新进入BIOS方法
  16. 软件外包项目如何承接
  17. Java封装和多态作业
  18. Hadoop题库(选择题、判断题)详细介绍
  19. 青蛙跳台阶python解法
  20. 乐视清空酷派股份;B站将于2018年赴美上市;苹果关闭所有iPhone降级通道丨价值早报

热门文章

  1. 达观助手AI写作下载安装教程及特色功能详解,速速收藏体验!
  2. 常用 Linux 术语
  3. 基于瑞芯微芯片RK3399学习
  4. proxmox学习使用系列--1.安装后配置软件源
  5. 抖音快速涨粉需要注意的七大事项
  6. 【Python】逐步回归
  7. oledb连接mysql_oledb连接mysql数据库
  8. 有一天,,,我当了老爸!
  9. linux是x64还是x86,Linux x86和x64的区别
  10. 关于MaxScript 中macroScript 的理解