“区块链”是怎么回事,据说好多大公司都在研究区块链,不懂区块链你都不好意思和别人打招呼。有没有简单的方法让人明白到底什么是“区块链”技术呢?
简单说,“比特币”(Bitcoin)是一种虚拟货币,和之前互联网上各种虚拟游戏币、点卡、Q币有点像,但是最大的不同是“比特币”基于区块链(Blockchain)技术。我们用小学生们也会玩的micro:bit套件来打造一个自己的区块链应用,很快你就会明白各种“币”是怎么回事了。
micro:bit是英国广播公司(BBC)联合很多企业推出的一个基于ARM Cortex-M0芯片的微型可编程计算机,它设计的初衷是为了让每个孩子都能零基础的接触计算机编程。整个micro:bit电路板比一张名片还小,上面有加速计、磁力计、光电传感、蓝牙和USB接口、一个25个LED组成的5×5显示屏、2个可编程按钮等,由USB口或外置电源供电。还具有蓝牙和2.4G无线传输功能。我们之前曾介绍过很多使用micro:bit打造的有趣项目,比如指南针、摩尔斯电码发报机等。
先准备好材料和工具:2块或更多块micro:bit主板、micro:bit数据线、一台可以上网的电脑。
第一步:首先了解一下mico: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上实现挖币、显示自己的币数,显示区块链中所有的币数(链长)等基本的功能。
现在,你自己打造的区块链货币micro:coin就可以玩了。不断摇动挖矿,就会有越来越多的micro:coin币产生,不过要记得把几块micro:bit放的近一点,被接受到信号才可被承认哦!