怎样在区块链中实现跨平台应用?

                    什么是区块链跨平台?

                    区块链跨平台,顾名思义,就是在不同的平台之间实现区块链的互通。这事儿其实没那么复杂,你可能听说过某些区块链平台轻松对接,哎,其实很多技术细节都是外面人没办法给你说清楚的。我最开始入行的时候,也是对跨平台这事儿一头雾水,结果吃了不少亏,今天我聚在这儿就是想给大家说说我的经验。

                    为啥要搞跨平台?

                    有的小伙伴会问,为什么不单独开发一个平台就好了呢?其实在现在这个市场环境下,各平台之间想互通已经成了个趋势。如果你的项目只局限于一条链上的话,那基本上相当于锁死了你的用户群体。搞跨平台,就能吸引更多的用户,打破城市围墙,大家都能参与进来。想想,一个好的应用,如果不能在其它平台上使用,那多可惜啊!

                    从头开始,选择你的技术栈

                    谈到技术栈,这里可不止那么简单。大家都知道以太坊、波场、EOS这些名牌,其实再往深了看,烂大街的还有很多。如果你选择了以太坊,你得学 Solidity;如果是EOS,你就得对 C 了如指掌。我一开始选的就是 Solidity,结果搞了半年,连个小程序都没弄出来,真的是对自己心力交瘁。后来我才发现,其实不管选择哪个,都要围绕着项目的需求来决定。不然你就是一头独木桥,走了都不知道要碰多少坎。

                    常见的跨平台框架比较

                    常用的框架包括 Hyperledger Fabric、Corda、以太坊的 Truffle,还有一些新起的框架。其实根据你开发的需求不同,框架的选择也有所区别。我个人用过 Truffle,最开始用的时候,觉得界面友好,好上手。但后来发现,其实它的功能相对这一块还是有点单薄,后面我接触了 Hyperledger After,发现它的确能灵活应对复杂应用,特别适合企业级的开发。

                    跨链技术,咱得搞清楚

                    有人会问,跨链技术真正是什么?其实它就是让不同区块链之间可以交换信息和价值。别听外面瞎吹什么专利技术,很多时候,其实是通过一堆中介去实现的。但如果不这样做,时间长了你的链就相当于自给自足,用户也就慢慢走掉了。常见的方案有哈希时间锁,互通链等,但我自己使用的比较多的是原子的交换(Atomic Swap),听起来复杂其实做起来也不难,但稍微在中间搞下手脚,结果只怕得不偿失。

                    如何进行测试?

                    这块很重要,别以为写完代码就万事大吉了。测试的时候,我刚开始是把所有的功能全跑一遍,结果发现有很多地方都是细节问题,比如状态不同步、回调不准确什么的。但最重要的是,得把自己的测试环境搭建好。我自己做的就是搭建本地环境,都是用 Ganache 来模拟以太坊的网络,真的是给我省了不少事。而且它支持快速搭建,可以很方便地进行功能测试,这个小工具在我整个开发过程中发挥的作用大得很。

                    遇见的那些报错

                    别说你自己没碰到过好多奇奇怪怪的报错,就拿我来说,还记得有一次,我的合约突然就报出一个 “out of gas” 的错误。你说我这不是扯淡吗,明明在测试网上跑得好好的呀!结果去查才发现,我的某个循环逻辑设计得太复杂,消耗资源太高,直接就给我卡住了。如何调试这个问题?我当时应该是冷静点,把每一步都记录下来,再进行分析,而不是因为一个报错就手忙脚乱。最后我还是通过不断的拆分功能查找到了问题。

                    伙伴们都犯过的“蠢事”

                    新手常犯的几个疯事儿真的不能不说。在这里我跟你们唠唠,别让自己摔那次跟头。首先是配置文件,很多人都是复制粘贴,能用不代表是对的,结果配置出错到最后你还得重写一大堆代码。还有就是环境的版本,你别管你之前用得多功夫,换了环境就得小心翼翼,别以为只要改几个字就能万事大吉,差错误你都不知道是哪个地方。还有人,觉得学习材料太多了,就随意找些资料,真是什么深度都没有,最后都是白忙活。靠谱的教程得都找准了,要有重点,花时间钻研。

                    结语,沉下心来

                    总结归总结,有些事儿就是慢慢来,沉下心去做,每次都把每一步都搞清楚,才能搞好开发。别想着短期内就能出成果,很多东西得靠时间积累。只要专心去做,总能摸索出一条适合自己的路,我就一直在这么过来的。

                                author

                                Appnox App

                                content here', making it look like readable English. Many desktop publishing is packages and web page editors now use

                                              related post

                                                              leave a reply