go语言挖矿 gos挖矿( 七 )


在测试网络运行节点: 如果你在正式网络运行geth客户端,下载整个区块链与网络同步会需要相当时间 。你可以通过比较节点日志中打印的最后一个块号和stats.ethdev.com上列出的最新块来确定是否已经同步 。) 另一个问题是在正式网络上跑智能合约需要实实在在的以太币 。在测试网络上运行节点的话就没有这个问题 。此时也不需要同步整个区块链,创建一个自己的私有链就勾了,对于开发来说更省时间 。
Testrpc:用geth可以创建一个测试网络,另一种更快的创建测试网络的方法是使用testrpc. Testrpc可以在启动时帮你创建一堆存有资金的测试账户 。它的运行速度也更快因此更适合开发和测试 。你可以从testrpc起步 , 然后随着合约慢慢成型,转移到geth创建的测试网络上 - 启动方法很简单,只需要指定一个networkid:geth --networkid "12345" 。这里是testrpc的代码仓库,下文我们还会再讲到它 。
接下来我们来谈谈可用的编程语言,之后就可以开始真正的编程了 。写智能合约用的编程语言用Solidity就好 。
要写智能合约有好几种语言可?。河械憷嗨艼avascript的Solidity, 文件扩展名是.sol. 和Python接近的Serpent, 文件名以.se结尾 。还有类似Lisp的LLL 。Serpent曾经流行过一段时间,但现在最流行而且最稳定的要算是Solidity了,因此用Solidity就好 。听说你喜欢Python? 用Solidity 。
solc编译器: 用Solidity写好智能合约之后,需要用solc来编译 。它是一个来自C++客户端实现的组件又一次 , 不同的实现产生互补、 , 这里是安装方法 。如果你不想安装solc也可以直接使用基于浏览器的编译器,例如Solidity real-time compiler或者Cosmo 。后文有关编程的部分会假设你安装了solc 。
web3.js API. 当Solidity合约编译好并且发送到网络上之后,你可以使用以太坊的web3.js JavaScript API来调用它,构建能与之交互的web应用 。
如何学习区块链?如果想学习比特币及区块链方面的知识,还是要系统性地学习 。网上这方面讨论、资料都很多,但水平参差不齐 。建议看一下区块链老师的线上课程 。
线上区块链视频教程是由Steven老师进行直播教学 。Steven老师,西交大学学士 , 北航软件学院工程硕士 。从事IT行业15年 , 7年编程开发经验,8年计算机培训经验 。分别从事过Asp、Asp.net、PHP、Java、Android、HTML5等开发和教学工作 。曾出版发行《变身程序猿——Android应用开发》(电子工业出版社) , 《Steven陪你学Android》、《零基础学编程》、《解密区块链》系列视频 。
想要学习区块链技术的同学通过三个月线上直播学习,毕业后能够掌握区块链基本概念、精通智能合约开发与架构设计、掌握代币开发与ICO发币、掌握全栈dapp开发 。
其区块链技术课程大纲如下:
1.1区块链基本理论0.5周
1.1.1初识区块链
1.1.2认识区块链家族
1.1.3区块链与比特币常见问题及基本概念
1.1.4区块链应用场景
1.1.5比特币钱包BitcoinCore
1.1.6testnet环境实现比特币交易
1.2编程基础入门3.5周
1.2.1计算机软硬件基础
1.2.2字符集及字符编码
1.2.3HTML+CSS(含HTML5+CSS3)
1.2.4ECMAScript + BOM + DOM
1.2.5jQuery
1.2.6node.js
1.2.7Ajax及Express
1.3Go编程语言6周
1.3.1Go基本语法
1.3.2流程控制
1.3.3函数及数据
1.3.4错误处理
1.3.5Go面向对象编程
1.3.6Go并发编程
1.3.7Go网络编程
1.3.8Go安全编程
1.3.9Go进阶编程(goroutine、channel)
1.3.10数据库MySQL、LevelDB
1.4区块链1.0——比特币Bitcoin1周

推荐阅读