哪些区块链项目在原生移动应用程序中运行,实施它有哪些挑战?



我正在寻找在移动应用程序中原生实现的区块链项目列表。如果你能找到一些,请给我指一下清单。如果没有,请让我知道为什么没有太多的区块链项目在移动端本地实现。这可能是由于性能、天然气成本、复杂性等原因吗?

当您以移动应用程序的形式交付DApp时,作为移动应用程序开发人员,您需要注意许多风险。

1:安全-为区块链构建自己的应用程序意味着你必须自己构建密钥管理。

在DApp的当前状态下,我们有MetaMask、密码浏览器、状态浏览器、信任浏览器和许多其他浏览器。他们试图解决的主要问题是帐户管理、私钥管理、恢复过程和;良好的用户体验。

如果你想让你的用户注册一个帐户,也就是创建私钥,并将其安全存储在手机中,所有这些都需要你自己处理。如果黑客成功地对你的移动应用程序进行了逆向工程并进行了攻击,他们将能够破解私钥库(你将客户的私钥存储在他们手机中的地方(。你完蛋了。

MetaMask和上述团伙的专家知道他们在做什么,并始终将安全作为他们在工程过程中的主要支柱。除此之外,他们还有设计团队,他们总是提出更好的用户体验想法,这样每个人都可以轻松地采用区块链。

最重要的是,如果你的团队中有安全和设计专家,他们知道如何处理密钥管理、恢复过程(助记符/种子短语(&等等,在你的移动应用程序中构建自己的应用程序可能是个好主意。否则,我强烈建议您只构建web DApp,并利用上面的MetaMask或DApp浏览器。

2:信任-区块链本身的理念是让一切去中心化和透明化。当你为你的DApp构建一个移动应用程序时,意味着你让它集中化。您的解决方案位于服务器中的某个位置。

每次你想推送应用程序更新时,你都会依赖苹果和谷歌。想象一下,你是一名iOS开发者,苹果公司花了很长时间来审查和批准你提交的应用程序更新?由于您处于集中/闭环环境中,所以您无能为力。

如果您将其作为基于web的DApp,则可以随时部署DApp更新。除此之外,您还可以将其托管到IPFS或Swarm,使其成为真正的去中心化应用程序。

不将其作为移动应用程序的美妙之处在于,你的用户可以浏览代码,因为他们的浏览器中只有静态文件;HTML、CSS和JS。您的用户可以判断您是否在代码中做了不好的事情。因为他们可以右键单击您的web DApp并查看页面来源。

但是,如果你是作为移动应用程序来做这件事的,你的用户就不可能真正知道应用程序的"背后"是什么,你会发现以后很难说服他们,他们是一家好公司。

3:开发-Web3JS是目前最受欢迎和最稳定的项目。它就像DApp UI和区块链之间的桥梁层。当然,它是编写的,需要在JS中实现。

即使现在我们开始看到Web3已经移植到许多其他版本,即Swift和Kotlin,它们仍然是新的。这意味着,你将花费大量的工时来调试和解决只有很少的人知道可以帮助/解决的问题。

为了分享我的经验,我是一个Ruby爱好者,现在Ruby有一些Web3风格。但是,从我测试的情况来看,它们还远远不够完美和稳定,最后,我决定将所有组件移植到Web3JS作为前端组件,将Go作为后端组件。组件。

仅供参考,以太坊Geth客户端是在Go中编写的,签出Go以太坊项目。这意味着,您以后需要做的一切,即创建事务、签署事务、查询块/事务、创建/检索私钥&等进行了测试并在实际生产中使用。在你陷入困境的任何时候,你都可以继续阅读go ethereum的源代码,了解他们是如何做特定事情的(上面的列表(。

我不会反对所有这些新口味。我想告诉你的是,所有这些新口味都需要时间才能足够成熟和稳定。我现在给你的建议是,如果你想做DApp,请使用Web3JS。如果您需要一些后端工作(您的集中式服务器<>区块链(,请使用Go。

我希望这能有所帮助!

相关内容

最新更新