使用 DB3 Network 构建一款去中心化社交应用数据模型,帮助 Firebase 开发者快速切入 Web3

简介: 目前社交应用的去中心化的需求日渐凸显,相关的应用和开发工具掀起了一波波的浪潮,DB3 Network作为一款去中心化数据库,可以帮助前端开发者以及firebase开发者快速构建一个简单的社交应用数据模型。文中附CLI工具使用方法。

概述

目前,绝大部分的web3开发者仍然是从开始接触web2的一些技术栈作为自己的职业生涯开始,而不是一开始就学习web3相关技术。例如,Solidity 语言像是 C++ 和 Javascript的混合体。web3里的节点提供商往往可以类比AWS。所以,对于web2的开发者而言,寻找到一个和现有他/她 熟知的相似的技术栈来学习,并且尽量从概念和工具体验上保持统一,可以帮助开发者无缝丝滑的快速切入web3领域。

我们今天使用一款firebase的替代产品DB3 Network,来帮助开发者快速在去中心化数据库写入数据。

大概花费5分钟,我们向您介绍下如何使用 DB3 Network 建立一个简单的社交dApp(去中心化应用)的数据模型。

本次介绍我们共涉及到3个概念: database, collection, document. 这些都会在建立一个社交应用的数据模型中用到。

我们可以使用CLI工具和db3.js来建立。本次,我们使用CL。

构建DB3 Network

git clone https://github.com/dbpunk-labs/db3.git
cd db3 && bash install_env.sh && cargo build
# start localnet
cd tools &&  sh start_localnet.sh

使用控制台

启动

(base) ~/Documents/GitHub/dbpunkslabs/db3   main  ./target/debug/db3 console

██████╗ ██████╗ ██████╗ 
██╔══██╗██╔══██╗╚════██╗
██║  ██║██████╔╝ █████╔╝
██║  ██║██╔══██╗ ╚═══██╗
██████╔╝██████╔╝██████╔╝
╚═════╝ ╚═════╝ ╚═════╝ 
@db3.network🚀🚀🚀
db3>-$ help
Usage:

创建数据库

db3>-$ new-db
 database address                           | transaction id 
--------------------------------------------+----------------------------------------------
 0x3b3b3570100a7a02aa3efbad065e2eefb3f46bc7 | cg4flp3sIyt2MJuIqY1TRlFh8MnlSqNQfKnC7TxQnOU= 
db3>-$ show-db --addr 0x1775b12ff28b48cdf66c2201d944c737514fe31f
 database address                           | sender address                             | releated transactions                        | collections 
--------------------------------------------+--------------------------------------------+----------------------------------------------+-------------
 0x3b3b3570100a7a02aa3efbad065e2eefb3f46bc7 | 0x72a2920c4f4b81a665aafb1f5f6e79e14bb9ce75 | 84Qs3vTO2Dp+ZCcIzeKWZ+5nGTycoCJRlAIh362KUjc= |  

在database里添加Collection

Collection 可以理解为数据表。接下来我会创建一个名叫 userinfo 的collection来记录社交用户信息,并且设置索引项。

db3>-$ new-collection 
--addr 0x1775b12ff28b48cdf66c2201d944c737514fe31f 
--name userinfo 
--index '{"id": 1,"name": "idx1","fields": [{"field_path": "name","value_mode": {"Order": 1}},{"field_path": "bio","value_mode": {"Order": 2}}]}'
send add collection done with tx
tQ4dU+46ZkvsM0s2pbjupWx2u8SLbRZmCkG6leG39Us=
db3>-$ show-collection --addr 0x1775b12ff28b48cdf66c2201d944c737514fe31f
 name     | index 
----------+-------------------------------------------------------------------------------------------------------------------------
 userinfo | {"name":"idx1","fields":[{"field_path":"name","value_mode":{"Order":1}},{"field_path":"bio","value_mode":{"Order":2}}]} 

在Collection里添加Document

Document(类似一条记录),这里我们会添加用户基础信息作为document.

db3>-$ new-doc
    --addr 0x3b3b3570100a7a02aa3efbad065e2eefb3f46bc7 
    --collection-name userinfo 
    --documents '{"name": "Bob","age": 43,"bio": "a virtual person in Blockchain"}'
send add document done with tx
+O9cK2cHLexZQvIITk4OTm8SxBhq7Yz7g+xZYiionWo=

以上,我们介绍了社交应用里可能涉及到的最基础的用户关系、发帖等数据模型。接下来,我们会在CLI工具和db3.js里实现更多去中心化数据库功能,可以帮助前端开发者快速建立一个去中心化应用。

后续,我们会解释 DB3 Network 里的权限模型如何帮助用户在去中心化应用中可以真正实现自己数据的所有权。并且,会增加更多功能帮助去中心化应用开发者实现以下功能:

  • 关注/被关注的社交关系
  • 删除帖子。

如果您觉得DB3 Network不错,请点赞⭐️ ,试用,分享 https://github.com/dbpunk-labs/db3/

目录
相关文章
|
2月前
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。
|
3月前
|
人工智能 安全 物联网
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
|
3月前
|
监控 前端开发 JavaScript
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
48 6
|
3月前
|
存储 消息中间件 缓存
构建互联网高性能WEB系统经验总结
如何构建一个优秀的高性能、高可靠的应用系统对每一个开发者至关重要
40 2
|
3月前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
163 3
|
3月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
3月前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
3月前
|
消息中间件 前端开发 JavaScript
探索微前端架构:构建现代Web应用的新策略
本文探讨了微前端架构的概念、优势及实施策略,旨在解决传统单体应用难以快速迭代和团队协作的问题。微前端允许不同团队独立开发、部署应用的各部分,提升灵活性与可维护性。文中还讨论了技术栈灵活性、独立部署、团队自治等优势,并提出了定义清晰接口、使用Web组件、状态管理和样式隔离等实施策略。
|
3月前
|
PHP 开发者
深入浅出PHP:构建你的第一个Web应用
【10月更文挑战第35天】在数字时代的浪潮中,掌握编程技能已成为通往未来的钥匙。本文将带你从零开始,一步步走进PHP的世界,解锁创建动态网页的魔法。通过浅显易懂的语言和实际代码示例,我们将共同打造一个简单但功能强大的Web应用。无论你是编程新手还是希望扩展技能的老手,这篇文章都将是你的理想选择。让我们一起探索PHP的魅力,开启你的编程之旅!
|
3月前
|
缓存 前端开发 JavaScript
构建高性能与用户体验并重的现代Web应用
构建高性能与用户体验并重的现代Web应用
57 5