智能合约的测试流程

一、以太坊客户端的安装

下载地址说明:

       ①官网下载地址::https://geth.ethereum.org/downloads/(需要翻墙),根据系统选择相应的版本

       ②国内镜像地址:https://ethfans.org/wikis/Ethereum-Geth-Mirror,但是没有支持linux版本

以下基于windows客户端:

  Windows要求必须是64位系统,从官方网站下载编译好的win64客户端,安装步骤一步一步安装就可以:

   比如我的geth 安装程序在F:\geth\geth.exe 目录下,当然也可以配置环境变量,不需要输入全路径啦

 ①进入cmd命令shell界面: 输入:F:\Geth\geth.exe --testnet --rpc --rpcapi db,eth,net,web3,personal --cache=1024 --rpcport 8545 --rpcaddr 0.0.0.0 --rpccorsdomain "*" --datadir f:\data  consle   回车同步测试公链的账本数据,该步骤要很久很久(我之前同步了2天多),也可以硬盘拷贝已知的同步好的节点database的节点数据,这样同步就很快

geth 参数 简要说明:--testnet表示是测试的公链, --rpcport  8545是指端口 --datadir f:\data  数据同步的存入地址。 console >> geth.log 代表将控制台输出到文件geth.log中去 。详细的参数说明:geth  --help  地址:https://www.cnblogs.com/tinyxiong/p/7918706.html 讲解比较详细:

同步完成表示节点该设备已经连到测试公链的一个节点,可以发起操作。

二 、以太坊账号的创建

    ① 直接在geth 控制台  创建账号:personal.newAccount('password')回车 得到是该账号的地址Address;  password 是密码。创建好的的账号的创建文件在路径:testnet\keystore:创建的账号的文件私钥。

   ②开启挖矿  miner.start   miner stop 获取eth可以用来支付gas ,后续的很多操作支付gas(测试公链获取比较容易)默认是本地的第一个账号进行挖矿,eth.accounts[0]  ,或者用eth.coinbase()进行查看。也可以设置指定账号的来进行挖矿 miner.setEtherbase(账号),    miner.stop()停止挖矿

备注说明:Gas是一种特别的单位用于Ethereum(以太坊)里,它用来衡量一个行为或者一系列行为有多少“工作量”。后续所有的操作支付的gas费用是gas*gasPrice

   ③查询以太币账户余额 eth.getBalance('账号地址‘),新创建的钱包的以太币是0,挖矿模式开始之后,账号已经有余额,见图二


’                                   

④转账    eth.sendTransaction({from:a,to:b,value:1000000000000000000})  账号a 向账号b 转 1ehter .. 以太币的单位的转换 :https://www.jianshu.com/p/9e9914c99692


表示账号a需要密码解锁

personal.unlockAccount(a,'123456',600000)  解锁成功之后可进行转账:参数说明:a钱包地址;“123456”,密码,60000解锁的时间:单位是s.

⑤查询事务状态  eth.getTransactionReceipt('0xc1a4a91886be92d1bc708702364da58d44ead1afb9023f950b87bd5118976356') //查询合约交易状态。如查询数据的是否入区块且是成功。



三、部署合约

    合约是用solidity语言后缀.sol的文件,在线的语言IED(暂时支持调试还不那么友好,没有其他语言的编辑器成熟),https://ethereum.github.io/browser-solidity ,可以在线编辑,也可以外部导入文件



导入合约,点击detail ,进入detail页面

下拉到WEB3DEPLOY,目录下面的复制图标,复制好编译的文件复制在geth的控制台回车得到合约部署的是地址。 编译的文件表示是用web3.eth.accounts[0]用第一个账号来部署合约,也可以修改指定账号来部署,部署合约的账号需要有一定额度的eth.



得到合约地址contract 


四、测试合约

 需要安装node.js 的依赖包web3.  用npm install web3(选择合适的版本)

① npm install web3 

②在合约文件的目录内进入node.js控制台  

③初始化 web3实例

Web3 = require('web3');

web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545")); //节点地址

solc = require('solc');

④设置合约地址的变量  //设置地址

 Address = '0xcc68e336C41506D763469B6A76Befb7f5C935eCA';

⑤加载本地合约   

⑥ 调用对应合约的方法

四、 truffle框架

 ①首先按照truffle框架

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,151评论 6 523
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,465评论 3 405
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,429评论 0 368
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,147评论 1 301
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,149评论 6 400
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,614评论 1 315
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,965评论 3 429
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,950评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,486评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,524评论 3 347
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,640评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,228评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,976评论 3 340
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,407评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,552评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,215评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,714评论 2 366

推荐阅读更多精彩内容