主页 > imtoken客户端app > 我们在区块链应用程序开发中使用的技术

我们在区块链应用程序开发中使用的技术

imtoken客户端app 2023-09-03 05:07:47

自 2013 年以来,我们已经建立了很多交易平台。多年来,我们创建了基于区块链的平台和代币产品。最近我们甚至开发并推出了我们自己的区块链 baas 平台。随着我们制作越来越多的区块链应用程序,我们的经验不断增长。在这篇文章中怎么开发自己的区块链,我想和大家分享我们已经完成的一些区块链项目中使用的技术栈。我想关注的项目分为三大类:代币产品、交易平台和开源区块链工具。

代币发行

在代币产品方面,我们已经开发了一些产品,我们有一个简单的流程和内部框架。我们通常使用以太坊区块链,因为它在市场上处于领先地位。它提供了稳定的开发和维护。与其他区块链平台不同,以太坊允许我们制作可编程的智能合约并提供所有工具(Solidity)以使开发更加顺畅。此外,以太坊开放供公众使用,并在 GitHub 中受到严格保护。它还基于工作量证明,非常适合企业应用程序。

我们使用 Solidity 编写以太坊智能合约,这是一种受 C++、Python 和 Javascript 影响的面向对象语言,针对以太坊虚拟机 EVM。使用 Truffle 框架开发 dApp(去中心化应用程序)是件好事。它提供了一种简单而舒适的方式来编码和测试应用程序。对于 STO,我们使用 AWS Lambda 和 DynamoDB 作为数据存储来运行它们。我们的 AWS 基础设施处理围绕区块链的所有操作,例如注册新用户或存储地址白名单。

怎么开发自己的区块链

这些地址可以对智能合约进行操作。我们的团队使用 AWS Lambda 来运行令牌产品,因为它可以安全地处理流量。代币产品具有可变的流量。换句话说怎么开发自己的区块链,在 STO 开始时,流量在一系列增加之间波动,只是在进一步增加后再次增加。 AWS lambda 使我们能够以最低成本在产品生命周期的早期维护 STO。如果对令牌有很多兴趣,AWS Lambda 可以在自动扩展时为我们处理流量。

交易平台

怎么开发自己的区块链

除了我们开发的bitm,我们还帮助设计了几十个交易平台。 bitm 是关于预测派生值的范围。多个用户可以成为称为虚拟交易大厅的预测事件的一部分。同时01级也是交易衍生品,但用户只能一对一玩。 Level01 中的预测导数是二元的,因为用户只能预测某事是否会发生。我们称他们为交易者和媒人。当交易者开始一个请求时,匹配器将该请求与相反的预测相匹配。这两个应用程序共享一些功能,但它们都有一些独特的功能,使它们彼此区分开来。

在两者中,我们都使用 Solidity 和 Truffle 框架来实施智能合约。在服务器端的 Level01 中,我们使用了 Node.js。它的优点是 Solidity 类似于 JS,所以如果开发者只知道这两种语言中的一种,他或她可以在一些小任务上支持主要开发者。

怎么开发自己的区块链

相比之下,在 CloseCross 中,我们用 Kotlin 编写了主要的服务器语言和 Node.Js,以开发支持区块链和服务器之间通信的微服务。 CloseCross 是一个基于 RabbitMQ 消息总线的基于事件的应用程序。我们再次使用 AWS 运行这些应用程序,使用 EC2 服务。在这两个应用程序中,我们都使用 Oraclize.It(现在 Provable)作为区块链层的预言机。

在两个区块链应用程序开发项目中,我们决定在客户和开发团队之间的协作过程中,在为期两周的迭代冲刺中使用哪些技术。这种工作方法可以最好地利用资源和最好的产品。

怎么开发自己的区块链

园丁神谕

区块链预言机的概念是在区块链内部无法从外界获取信息。这就是所谓的Oracle问题。所以你必须让预言机监听区块链上的交易,并作为响应,将一些信息放入区块链。正如我所提到的,我们最初使用 SaaS 工具 Oraclize IT 来实现这一点。但过了一段时间,我们想出了把自己的预言机做成开源产品的想法。然后 Gardener 诞生了——这是同类中的第一个开源解决方案。我们一直在使用 Solidity 和 Truffle 框架构建它,用于在服务器端开发智能合约和 Node.js。

怎么开发自己的区块链

Gardener 已经是一个生产就绪的工具,是我们未来区块链应用程序的复杂解决方案。您可以自己托管它并使用它连接到任何开放的 API。它带有外部库,可帮助您将其与智能合约集成。它支持不同类型的请求和不同格式的响应。未来,它将提供各种模式,让您决定谁应该为来自以太坊预言机的请求付费。这是一个高度可配置的系统。

结论

现在您对我们做的区块链应用开发项目有了部分了解。您也知道我们使用的工具。我们专注于稳定和成熟的技术来构建我们的新解决方案并为我们的客户提供最大的价值。其中一些是重复的,因为我们重视使用经过验证的工具的经验,并且知道如何最好地配置它们。

与 Gardener 一样,我们也在项目中制作自己的工具。有时我们尝试新的技术堆栈,然后在项目结束后,我们审查我们的选择并评估它们。到目前为止,我们已经构建了足够多的系统,让我们能够了解哪些工具符合我们的需求,从而满足客户的想法并尽快将产品推向市场。