区块 基石

为区块链3.0而生

世界上第一个区块链生态平台
专注于构建和部署区块链应用

播放视频

最新消息和项目进展

November 8

BlockAuth 基本设计以及在实现中的一些思考

BlockAuth 基本设计以及在实现中的一些思考 作者: taotao(后端程序员) BlockAuth 模块几乎是所有系统中必不可少的一个环节,承载用户注册、登录、授权等各种常规操作,为整个系统中的其他逻辑提供支持。在当前阶段,BlockAuth 模块主要为 OCAP service 提供支持,通过对用户区分不同的 role,来分配不同的 service quota,以此提升 OCAP service 使用体验。现阶段而言,BlockAuth 模块采用相对于分布式 ID 方案(DID)更加中心化的实现,但在 DID 技术成熟后可以平滑过渡到去中心的实现。 本文试图从 BlockAuth 模块常见的组件入手,阐述 BlockAuth 的基本设计以及在实现过程中遇到的一些有趣的想法和思考。其中,常见组件主要会介绍: User Register JWT (Json Web Token) MFA HMAC User Role 而一些有趣的想法和思考,主要会包括: 使用 absinthe middleware 抽象组件逻辑 使用 pipeline 来封装多重逻辑 代码层面的读写分离 并发控制以及异常控制 User Register 对于用户注册而言,在 BlockAuth 模块中,会将 email 作为一个非常重要的参数,为了防止 email 被占用带给后续注册的各种麻烦,会将验证 email 作为前置的操作。换言之,只有在用户的 email 被确认之后,才能进行后续的各种操作。这样的话,可以将 email 被占用的风险降低到最小。 BlockAuth 模块,采用的是常见 register email 流程:

October 31

ArcBlock 宣布与 QuarkChain 合作

共同打造强大的区块链应用开发平台 今天,ArcBlock 区块基石——全球首个面向开发者的区块链 3.0 生态系统开创者及去中心化应用开发部署领先平台,正式宣布与高性能点对点交易网络 QuarkChain 达成战略合作伙伴关系:双方紧密合作,以提高其开发和基础架构环境的互操作性,为开发人员和企业提供更多更强的选项,帮助他们在完全启用的区块链技术堆栈中构建、维护和部署区块链应用和服务性能。 ArcBlock 的开发框架为开发人员、企业和政府提供了轻松开发区块链新系统与服务、和现有系统连接所需的开发工具和功能。ArcBlock CEO 冒志鸿表示,“ArcBlock 对如何构建区块链应用和服务进行了重新设计。今天,开发人员为开发区块链应用不断遭遇性能不佳、功能匮乏、底层技术平台锁定,以及缺乏社区支持等问题。我们不仅要简化区块链应用整个开发生命周期,而且希望确保用户拥有面向未来的应用服务平台,能够根据需要采用新技术、新想法,不断适应自己用户需求。我们已经开发了很好的软件,现在,又能将它与 QuarkChain 基础设施功能完美结合。” ArcBlock 平台一个关键部分是创新的开放链访问协议(OCAP)。OCAP 是一个访问底层区块链协议的统一抽象层,为开发者创建区块链应用提供了完全的灵活性。为此,ArcBlock 为开发者提供了一个统一的 OCAP 实验台,允许他们“一次编写,随处使用”。通过使用 OCAP,开发者拥有一个任意选择使用区块链技术而不受限制的强大工具。无论是比特币、以太坊还是现在的 QuarkChain,开发人员都可以简单地将最合适的 OCAP 区块链适配器添加到后端,能够同时使用一条、两条或多条底层公链。通过与 QuarkChain 的合作,OCAP 将帮助开发者随时访问 QuarkChain 强大的基础架构服务。 10 月 15 日,QuarkChain 和 ArcBlock 在美国西雅图共同组织了开发者见面会,向西雅图地区的开发者介绍了现今前沿的区块链技术与关键发展。接下来,双方将在技术创新、生态共建等方面进一步加强合作:ArcBlock 将携手通力为 QuarkChain 的开发者提供兼容 QuarkChain API 的 OCAP 实验台。另外,双方将合作举办一系列针对开发者的活动,在美国加州硅谷和中国开展编程黑客马拉松。 QuarkChain CEO 周期表示, “我们相信这种合作不仅推动 QuarkChain 和 ArcBlock 的长期发展,而且还有助于打造充满活力的生态系统和行业领先的应用平台,让 Quarkchain 的开发者能够比以往更快更轻松开发区块链应用。” 欲了解更多,请访问 QuarkChain (https://quarkchain.io)与 ArcBlock(https://www.arcblock.io)官网 。

October 30

浅谈查询职责分离(CQRS)模式

浅谈查询职责分离(CQRS)模式 作者 周蕾 (ArcBlock 后端工程师) 最近几年,在DDD的领域,我们经常会看到CQRS架构的概念, CQRS 是查询职责分离模式(Command Query Responsibility Segregation)的缩写。正好这些日子Arcblock的后端的服务有考虑使用CQRS 的架构,所以今天和大家一起分享一下最近的研读收获。今天文章会从Event Sourcing出发 介绍CQRS,以及通过Commanded (Elixir 的库),一起看一看如何遵循ES/CQRS 的概念开发应用程序。 什么是Event Sourcing (事件溯源)? Event Sourcing本质来说是保存了发生事件的本身,而不是当前的事物的状态。在Event Sourcing的概念里,Event作为既定的发生之后的事情,也是最小的单位。 比如: Event Sourcing 的工作模式:在下面这条数据流里面,由4个发生的事件(event)组成,进而每一次改变当前的状态,同时事件们的相对顺序也是我们需要保证的。 我们会得到这样的总结: Sn = apply(Sn-1, En) 或者 Sn = reduce(E, S0, apply) 其中: (S: state, E: Event) 现在我们可以发现Event Sourcing 的优点: 每个状态发生的改变都有完备的日志记录,可追溯 优化了的写的操作,提高了性能 我们身边的Event Sourcing 每个程序员的每天都离不开的 Github。 在Git 的世界里, Events(事件) 是Commits, State(状态) 是文件系统。 Blockchain 每次保存的是 transaction 而不是一个现在的状态,从这个角度出发, Events(事件) 是transaction, State(状态) 是用户的账户信息。 WAL: 是Write-ahead logging, 在数据写入到数据库之前,先写入到日志, 再将日志记录变更到存储器中。Events(事件) 是每一个操作, State(状态) 是数据库。 对于Event Sourcing 来说,想做查询(query) 怎么办? 试想一下,在一个银行系统里面,如果我们想要查询账户余额在1000块以上的用户,那我们难道需要把每个账户的按照 Sn = reduce(E, S0, apply) 这个公式在重新计算一遍吗? 如果我们考虑用一个DataStore 来保存 Event,再用另外一个DataStore 去专门为Query 提供数据,同时两个Datastore 通过发送消息 进行信息同步,如何? CQRS 某种程度上就解决了这样的问题。

查看全部

2018和2019路线图

构建Token经济和服务

为用户体验而优化

构建于云计算之上

坚持开放标准

ArcBlock架构一览

去中心化的区块链应用服务平台

ArcBlock是一个专门用于开发和部署去中心化区块链应用的服务平台和一个多方参与形成的生态系统。ArcBlock不仅提供基础部件服务以方便使用区块链,而且能比今天的区块链系统支持更复杂的商业逻辑。它能帮助您将已有的系统和服务与区块链建立连接,使得你可以把现有业务的数据、用户、商业逻辑等应用在区块链驱动的新应用之中。其中开放链访问协议(OCAP)是一个开源的协议,她提供了一个抽象的中间层来访问下层的区块链,使得上层应用可以轻松运行在不同的底层区块链之上。

了解更多技术细节

远景规划

2018
发布开放链访问协议 (OCAP)

- 发布开放链访问协议 (OCAP)

- 发布开放链访问协议的周边生态产品和服务

2019
正式向大众提供ArcBlock服务

- 第一届开发者和合作伙伴大会

- 为数字媒体、出版和知识分享等典型应用场景提供可重用部件

- 开始支持物联网和区块链结合的应用场景 (首先计划支持MQTT协议和AWS IoT服务. 考虑支持如IOTA等物联网区块链底层服务).

- 开发和提供为ArcBlock应用和部件而服务的去中心化市场服务,为ArcBlock上的应用、组件以及对应的Token提供服务

2020
走向开放标准

- 发布对物联网、智能家庭、智慧城市等应用的支持

- 把发布开放链访问协议 (OCAP)贡献给开源社区以获得更大程度的接受以期成为开放标准

- 支持更多的底层云服务, 目标是支持主流的云计算平台,包括AWS, Windows Azure, Google Computing Engine, 阿里云, 腾讯云等. ArcBlock致力于成为独立于底层云计算平台的、统一的、去中心化应用平台

2021
致力于成为区块链基础架构服务

- 拥抱区块链可能成为操作系统级支持的基础服务的趋势

- 和ArcBlock的生态伙伴一起建立一个基于Token经济服务的基础架构

2022
支撑可编程社会的基础区块链服务

- 致力于将ArcBlock发展成为未来可编程社会下的开放基础服务

ArcBlock Token
可在这些交易所获得

customer-1
customer-2
customer-3
customer-4
customer-5
customer-6

Sign Up For Our Newsletter