打造属于自己的区块链货币
2018-07-21■
■
“比特币”“区块链”是最近特别火的两个词。那么,比特币到底是一种什么样的“币”呢?“区块链”又是怎么回事呢?
简单地说,“比特币”(Bitcoin)是一种虚拟货币,和之前互联网上各种虚拟游戏币、点卡、Q币有点像,但是“比特币”最大的特点是基于区块链(Blockchain)技术。
区块链有三个基本特点:1.使用密码学的方式产生一串数据,保证不被篡改;2.产生的数据同时在所有节点上使用同样的算法产生数据,大家互相认可(分布式运算);3.在数据交换传递过程中,通过一定的协议互相认可,并把这一过程在所有的节点上记录下来。
我们以比特币为例,比特币的发明人发明了一种规则,即通过密码学的算法计算出一串数字,宣布这就是比特币,所有用同样方式运算出数字的人都可以产生比特币,但是必须让所有使用比特币的人都认可,这个比特币才会被承认,并且比特币的每一次交换流通,都要在全体使用者中得到承认才会有效。每个人都有一个小账本,记录着这个比特币在哪产生、经过几次交换,并且这些过程都是被全体使用者认可的,所以尽管比特币是虚拟的,但它获得了所有使用者的认可,成为一种大家都公认的交换介质,与传统的银行发行的货币一样,有了信用货币的功能。
今天,我们就用小学生也会玩的micro:bit套件来打造一个自己的区块链应用,你很快就会明白各种“币”是怎么回事了。
micro:bit是英国广播公司(BBC)联合很多企业推出的一个基于ARM Cortex-M0芯片的微型可编程计算机,它设计的初衷是为了让每个孩子都能零基础地接触计算机编程。整个micro:bit电路板比一张名片还小,上面有加速计、磁力计、光电传感、蓝牙、USB接口、一个由25个LED组成的5×5显示屏、两个可编程按钮等,由USB口或外置电源供电,还具有蓝牙和2.4G无线传输功能。有很多使用micro:bit打造的有趣项目,比如指南针、摩尔斯电码发报机等。
●材料和工具清单:
两块或更多块micro:bit主板;
micro:bit数据线;
一台可以上网的电脑。
●制作过程:
第一步:首先了解一下micro:coin的设计原理
微软micro:coin项目是微软Makecode平台的一个开源项目,它使用360行JavaScript代码在micro:bit上实现了区块链功能。只要把代码拷到micro:bit里面就能运行。
设定摇动是挖矿,这时会通过哈希算法产生一串数据,通过随机方式决定是否挖到一枚币,一旦挖到币,它就会通过2.4G无线广播的形式传输给其他的micro:bit,如果被接收到就会被承认。按下micro:bit上的A按键可以显示自己拥有的钱币数量(不一定是挖到的,而是挖到并且被传输出去被承认的),按下B按键显示所有micro:bit中被传输过的并被承认的钱币数量。
第二步:在微软Makecode平台打入区块链功能包
micro:coin源代码使用JavaScript语言编写,不能使用图形化编程工具。不过,最近微软的Makecode平台把它打包成了功能包,打开https://makecode.microbit.org/ 在线编程平台,点击右上角的“设置”—“添加包”,搜索一个叫作“Radio-Blockchain”的功能包,就可以导入区块链模块,然后用拖拽的形式就可以进行图形化编程。
第三步:将micro:coin代码导入每一块micro:bit主板
因为源代码被打包成了功能包,我们只要在https://makecode.microbit.org/通过拖拽就可以在micro:bit上实现挖币、显示自己的币数、显示区块链中所有的币数(链长)等基本的功能。模块化编程如下图,最后把代码文件保存成.Hex文件,拷贝到每一块micro:bit主板上就完成了。
现在,你自己打造的区块链货币micro:coin就可以玩了。把几块做好程序的micro:bit通电后,摇动其中一块,如果挖到币,就会显示菱形画面,同时其他micro:bit接收到信号,显示方框画面,一枚币就产生了,并且在整个区块链中被承认。不断摇动挖矿,就会有越来越多的micro:coin币产生,不过要记得把几块micro:bit放得近一点,被接收到信号才可被承认哦!
扫描左侧二维码关注公众号:石斧创客,可下载micro:coin区块链应用源代码。