
多签钱包的工作原理与使用方式
什么是多签钱包?多签名钱包常被缩写为 “Multisig wallet”,与多签钱包对应的是单签钱包,我们要往区块链上发送一笔转账交易,需要去用钱包去做一个签名,我们自己签好名把交易发送出去,交易执行成功转账就成功,这就是典型的单签钱包,也是我们平时使用最多的钱包。 多签钱包,顾名思义,就是需要多个人去签名执行某个操作的钱包。使用多签钱包进行转账,往往需要 >= 1 个人去签名发送交易之后,转账操作才真正完成。使用多签钱包时,我们可以指定 m/n 的签名模式,就是 n 个人里面有 m 个人签名即可完成操作。可以根据自己的需求设置多签规则,例如:1/2多签模式:两个互相信任的朋友或自己的两个钱包,可以凭各自的私钥独立发起交易(类似于合伙账户)。2/2多签模式:金库中的资金需要2个管理员均同意才能动用这笔资金(需要两个私钥才能转移资金)。2/3多签模式:三个合伙人共同管理资金,为了规避私钥丢失的风险,其中两个私钥签名就可以转移资金。当然,还有1/3多签、3/6多签、5/8多签不同规则的多签方案,规则是按需的。多签钱包最大的特点是需由多个私钥持有者的授权才能进行钱包交易。我们讲了这么多...

分析Luna的流动性与Terra的命运
下文是来自对 0x_Todd 推文的整理: https://twitter.com/0x_Todd/status/1524605026122960896 1.1 眼见它起朱楼,眼见它楼塌了。 其实 $Luna 的问题只关乎一个词:“流动性”。 Luna作为流动性不够好的波动资产,却可以1:1等值铸造UST,并借助Curve等EX获得了稳定币才配拥有的法币流动性。从这天起,就已注定它的死亡。而20% APR更是一个加速的总按钮。 2.1 先说说原因,导火索-UST大户离场。 5月8号,兴致勃勃的Terra正在为号称“终结Curve War”的4pool做准备(Curve上的新池子),临时撤出了老池子的流动性。 但是8400w UST也许是误判,也许是狙击,直接将UST在Curve市价砸出,一下子就把没有准备的UST砸脱了锚。 2.2 发酵-Terra的错误救市PR。 我曾经说过,信心盘靠的是信心。如果信心丧失,那就是万劫不复的开始。 脱锚后,其实应该继续打鸡血,喝鸡汤,轻描淡写就过去了。 但是Terra却一直反向PR:我们在救市!我们去撑这个锚了。 这很糟糕,传递了负面信心:你说你...

译文:了解代币经济学
原文是 The DeFi Edge 发布的长推,主题围绕的关键词 Tokenomics,可以翻译为代币经济学或者代币经济模型。 https://twitter.com/thedefiedge/status/1511737802655903744 我今天要讲的内容包括:什么是代币经济学?通过供应、需求和激励措施对协议进行评估代币经济学的例子免费的代币经济模型检查表接下来就让我们一起去了解 Tokenomics什么是代币经济学?代币经济学研究的是推动代币需求的因素。 代币经济学包括:数学供需关系激励措施价值累加人类行为与博弈论代币经济学 = 代币 + 经济学我早前的一些最糟糕的投资就是由于我当时不了解代币经济学是怎么回事。代币在没有足够效用的情况下会导致通胀。风险投资公司(VC)和鲸鱼(Whales)对代币的集中会导致散户面临抛压。因此,研究代币经济学将有助于改善你的加密货币投资。 开始学习代币经济学的最简单的知识是了解供应和需求。 关于无聊猿的例子(@BoredApeYC):现在有1万只地板价为111 ETH的无聊猿NFT,如果它的供应链增加一倍,现在有2万只无聊猿,那会发生什么?...
分享加密技术与资讯



多签钱包的工作原理与使用方式
什么是多签钱包?多签名钱包常被缩写为 “Multisig wallet”,与多签钱包对应的是单签钱包,我们要往区块链上发送一笔转账交易,需要去用钱包去做一个签名,我们自己签好名把交易发送出去,交易执行成功转账就成功,这就是典型的单签钱包,也是我们平时使用最多的钱包。 多签钱包,顾名思义,就是需要多个人去签名执行某个操作的钱包。使用多签钱包进行转账,往往需要 >= 1 个人去签名发送交易之后,转账操作才真正完成。使用多签钱包时,我们可以指定 m/n 的签名模式,就是 n 个人里面有 m 个人签名即可完成操作。可以根据自己的需求设置多签规则,例如:1/2多签模式:两个互相信任的朋友或自己的两个钱包,可以凭各自的私钥独立发起交易(类似于合伙账户)。2/2多签模式:金库中的资金需要2个管理员均同意才能动用这笔资金(需要两个私钥才能转移资金)。2/3多签模式:三个合伙人共同管理资金,为了规避私钥丢失的风险,其中两个私钥签名就可以转移资金。当然,还有1/3多签、3/6多签、5/8多签不同规则的多签方案,规则是按需的。多签钱包最大的特点是需由多个私钥持有者的授权才能进行钱包交易。我们讲了这么多...

分析Luna的流动性与Terra的命运
下文是来自对 0x_Todd 推文的整理: https://twitter.com/0x_Todd/status/1524605026122960896 1.1 眼见它起朱楼,眼见它楼塌了。 其实 $Luna 的问题只关乎一个词:“流动性”。 Luna作为流动性不够好的波动资产,却可以1:1等值铸造UST,并借助Curve等EX获得了稳定币才配拥有的法币流动性。从这天起,就已注定它的死亡。而20% APR更是一个加速的总按钮。 2.1 先说说原因,导火索-UST大户离场。 5月8号,兴致勃勃的Terra正在为号称“终结Curve War”的4pool做准备(Curve上的新池子),临时撤出了老池子的流动性。 但是8400w UST也许是误判,也许是狙击,直接将UST在Curve市价砸出,一下子就把没有准备的UST砸脱了锚。 2.2 发酵-Terra的错误救市PR。 我曾经说过,信心盘靠的是信心。如果信心丧失,那就是万劫不复的开始。 脱锚后,其实应该继续打鸡血,喝鸡汤,轻描淡写就过去了。 但是Terra却一直反向PR:我们在救市!我们去撑这个锚了。 这很糟糕,传递了负面信心:你说你...

译文:了解代币经济学
原文是 The DeFi Edge 发布的长推,主题围绕的关键词 Tokenomics,可以翻译为代币经济学或者代币经济模型。 https://twitter.com/thedefiedge/status/1511737802655903744 我今天要讲的内容包括:什么是代币经济学?通过供应、需求和激励措施对协议进行评估代币经济学的例子免费的代币经济模型检查表接下来就让我们一起去了解 Tokenomics什么是代币经济学?代币经济学研究的是推动代币需求的因素。 代币经济学包括:数学供需关系激励措施价值累加人类行为与博弈论代币经济学 = 代币 + 经济学我早前的一些最糟糕的投资就是由于我当时不了解代币经济学是怎么回事。代币在没有足够效用的情况下会导致通胀。风险投资公司(VC)和鲸鱼(Whales)对代币的集中会导致散户面临抛压。因此,研究代币经济学将有助于改善你的加密货币投资。 开始学习代币经济学的最简单的知识是了解供应和需求。 关于无聊猿的例子(@BoredApeYC):现在有1万只地板价为111 ETH的无聊猿NFT,如果它的供应链增加一倍,现在有2万只无聊猿,那会发生什么?...
Share Dialog
Share Dialog
分享加密技术与资讯

Subscribe to 稻田君

Subscribe to 稻田君
<100 subscribers
<100 subscribers
原文《Defining the web3 stack》作者 Nader Dabit 拥有10年“传统 (web2)”互联网全栈开发的经验,并在2021年4月开始投身于 web3 开发。
我们先回想一下,用传统的全栈开发搭建一个网页或移动应用时,基本可以依托于大量现有的技术轮子,很快就可以搭建市面上几乎所有能想到的应用。我们经常会用到下面这些技术:
API 服务端(比如 REST 或是 GraphQL)
用户验证(通常自建或使用第三方)
数据库 (关系型数据库或者 NoSQL)
客户端(各类框架、平台或类库,如 Vue/React)
文件存储(比如短视频的存储)
使用这些核心组件,我可以构建出我想要的大多数类型的应用程序,或者至少可以实现大部分目标。那么这在 web3 中是什么样子的呢?
事实证明,这个问题的答案并不那么简单,因为:
逻辑在许多方面完全不同
web3 工具、技术和生态系统不如 web2 成熟
我也更难理解如何启动和运行以及构建 web3 应用程序,因为我处理问题的方式与我在 web2 世界中的方式相同。
在过去 8 个月左右的工作、研究、实验和构建之后,我想分享一下我学到的东西。
我们先来看看什么是 web3,然后再去探究 web3 技术栈。毕竟 web3 还在比较早期萌芽的状态,网上能找到各种各样的对 web3 的解释,但 Nader 认为 web3 最为准确的解释是:
web3 是一组开发去中心化应用时所必须遵循的协议。
遵循这些协议,我们就可以开发去中心化应用。遵循 web3 协议所开发的去中心化应用将有以下特点:
用户对数据、内容、甚至平台的所有权
用户身份的自主权
原生的支付方式(加密货币)
去中心化、分布式、非基于信任的基础建设
开放、公开、模块化的应用逻辑层
使用 web3 所开发的去中心化应用将会取代一些他们 web2 的前身。但借助于区块链下原生的支付方式以及公开的底层架构, 一系列前所未有的应用将会成为 web3 下全新的产物。 这些新产物是更令人期待的、无法预知的新创造。虽然去中心化的应用在某些场景是更有优势的,但中心化的应用在将仍然有存在的必要,未来更有可能是两种模式的共存和协同。
对于开发人员来说,我们还需要理解 web3 开发所需要的技术栈。web3 技术栈可以分为以下几大类:
区块链
区块链开发环境
文件存储
链下数据协议
数据索引和查询(API)
身份识别
客户端(框架和库)
区块链预言机
其他相关的协议

当你开发一个区块链应用时,有非常多的区块链可供选择。现在也并没有一个区块链出类拔萃。选择区块链时你要明确自己的需求并做好取舍。
Nader 自己在进行选择时会遵循二八法则,选择更容易上手的区块链。Nader 认为 Solidity 语言搭配以太机虚拟机(EVM)是刚接触区块链的程序员最好的选择。在掌握了以太坊相关技术后,我们可以运用这些技术在以太坊、以太坊 Layer 2、侧链甚至其他公链上(例如Avalanche, Fantom, and Celo)建立应用。
Rust 语言也正逐渐在区块链领域流行起来。包括 Solana, NEAR, Polkadot 等公链都对 Rust 语言提供了原生支持。但对于初学者来说,如果今天有人问我,Solidity 仍然是更好的选择。
基于技术成熟度、工具生态链、开发者社区、热度和前瞻性,Nader 列出了他认为比较好的一些区块链平台:
以太坊(Ethereum):创世纪的 Smart contract 平台
ZK rollups(ZKSync、Starknet、Hermez):高吞吐量以太坊 Layer 2,但是并不与以太机虚拟机原生兼容
Optimistic rollups(Arbitrum、Optimism): 以太坊 Layer 2,且与以太机虚拟机原生兼容
Polygon:以太坊侧链
Solana:高吞吐量、低交易费、区块速度快,缺点是入门门槛相比以太机虚拟机要高
NEAR:用 Rust 或 Assemblyscript 编写 smart contract
Cosmos:相互兼容区块链的生态
Polkadot:区块链算力平台,在此平台之上可以互相连通的区块链
跟这些公链需要交互的时候,我们会用到 RPC 接口,以下是一些接入方式:
使用一个公共的 RPC 端口
自己跑一个节点
使用一个中心化的第三方端口提供商
使用一个去中心化的第三方端口提供商
公链一般都会提供公共的 RPC 端口。但这些公共端口一般都不太稳定,所以你的 dApp(去中心化 APP)往往都要用到你自己的端口或者是一个可靠的第三方供应商。这里列举一些常见的供应商:
上面这些都算是“中心化”的供应商,如果你希望找个去中心化的供应商,可以看看 Pocket Network 。
对于 EVM 开发,有一些很好的开发环境可用:
Hardhat (JavaScript): 相对比较新但越来越流行。Hardhat 的文档很出色,开发工具和开发体验都被打磨得比较好。这是 Nader 本人首选的开发环境。
Truffle (JavaScript):基于以太机虚拟机的一套开发工具。相对比较成熟,有完善的文档,开发者群体比较大。
Foundry:Paradigm 开发的一个新的 Solidity 开发环境。它可测试且支持模糊测试。因为是用 Rust 编写的,它的速度也相当快。
Brownie:基于 Python 的开发和测试框架,适用于 Solidity 和以太机虚拟机开发。
对于 Solana 开发,Anchor正迅速成为新开发人员的切入点。它提供了一个用于搭建、构建和测试 Solana 程序的 CLI,以及可用于构建前端的客户端库。它还包括一个 DSL,它抽象了开发人员在开始使用 Solana 和 Rust 开发时经常遇到的许多复杂性。
在 web2 上我们可以把文件存储在中心化的服务器上(包括阿里云 OSS 等),对于 web3,在链上直接存储大体积文件是非常昂贵的,那在我们应该如何存储图片视频等大体积的文件呢?我们也有一些可供选择的文件存储协议:
IPFS:P2P 文件系统协议。优势是可靠性高,文档完整且生态完备。劣势是文件有丢失的可能性。
Filecoin:由开发了 IPFS 的 Protocol Labs 开发。适用于永久性文件存储。web3.storage 是一个不错的基于 Filecoin 的项目。
Skynet:Nader 并没有实战应用过这个协议。但它的 API 似乎很不错。
除了去中心化的文件存储协议和直接在链上存储文件以外,我们还需要在链外存储一些数据。乍一看这可能跟 web2 的数据库很相似,但实际上你的数据会被复制在一个去中心化网络的多个节点上,理论上这个数据库的可信赖度更高一些。下面是一些链下数据库可供选择:
Ceramic Network:去中心化的开源数据平台。
Textile ThreadDB:基于 IPFS 和 libp2p 的多方数据库。
GunDB:去中心化的 P2P 数据库。
链下数据协议目前还非常不成熟。比如实时数据、数据冲突检测、授权等等都是这些数据协议仍然亟待处理的挑战。同时,链下数据库与区块链的一体化如果不能解决,那我们也不可能做出真正去中心化的大型 APP。
我们与区块链交互和构建区块链的方式与传统技术堆栈中的数据库存在很多差异。使用区块链,数据不会以可以直接从其他应用程序或前端有效或轻松使用的格式存储。
区块链针对写入操作进行了优化。您经常听到围绕每秒交易、区块时间和交易成本发生的创新。区块链数据随着时间的推移以块的形式写入,使得除了基本读取操作之外的任何操作都是不可能的。
在大多数应用程序中,您需要关心数据、排序、过滤、全文搜索、分页和许多其他类型的查询功能等功能。为此,需要对数据进行索引和组织以进行有效检索。
传统上,这是数据库在集中式技术堆栈中所做的工作,但在 web3 堆栈中缺少索引层。
Graph是一种用于索引和查询区块链数据的协议,它使这个过程变得更加容易,并为此提供了一个去中心化的解决方案。任何人都可以构建和发布开放的 GraphQL API,称为子图,使区块链数据易于查询。
要了解有关 The Graph 的更多信息,请查看此处的文档或此处的教程。
身份识别也是 web3 和 web2 重要的区别之一。web2 的身份识别是基于个人信息,比如你让用户提供用户名和密码。web3 的身份识别则完全基于“钱包”和公钥加密。
作为一个开发者,我们需要知道如何获取用户的钱包公钥并进行交互。我们至少需要能够链接这些加密钱包。在浏览器内或移动客户端,我们可以借助于类似于 WalletConnect 和 Solana’s Wallet Adapter 这样的工具。我们也可自己去处理身份识别,在这里就不做赘述了,详细可以看看这两个例子:EVM 或 Solana。
那我们如何管理用户资料呢?Ceramic Network 提供了一套非常健全的协议和工具来帮助我们用去中心化的方法管理用户资料。ethers.js 库则为我们提供了获取 ENS 相关信息的工具。SpruceID 也同样值得一试。Ceramic 和 Spruce 都是基于 W3C DID 规范。
就 JavaScript 来说,我们可以用任何 JS 前端框架来搭建客户端。大部分区块链的 JS SDK 都不限制 JS 框架。懂得 React 仍然还是有一定的好处,毕竟大部分例子还是都基于 React。也有很多类似 Solana Wallet Adapter 的库直接支持了 React。
对于以太坊开发的 SDK,web3.js 和 ethers.js 都不错。Ethers.js 可能相对更容易上手。对于 Solana,@solana/web3.js 和 Anchor 都是很好的选择。如果你用了 Anchor 框架,那自然你的前端用 Anchor 也就更容易了。
区块链预言机让开发人员在智能合约中使用区块链以外的数据。对于 DeFi 应用,区块链预言机已经有很大的作用,这些金融智能合约需要知道外部世界的很多信息,比如油价。
Chainlink 是一个区块链预言机。它让智能合约能够获取外部世界数据的同时,确保了安全和可靠性。Flux 是一个跨链的预言机。
Radicle:去中心化的 GitHub。
Livepeer:去中心化的视频平台。这个平台已经相当成熟,链上已经有超过 7万个 GPU。
https://edgeandnode.com/blog/defining-the-web3-stack
https://dev.to/jiachenyao/web3-ji-zhu-zhan-1k40
如果有问题交流,可以关注并私信我:微信(jingwentian)、Twitter(@0xDaotian)、微信公众号(北极之野)、Substack邮件订阅(文叔白话WEB3)。
原文《Defining the web3 stack》作者 Nader Dabit 拥有10年“传统 (web2)”互联网全栈开发的经验,并在2021年4月开始投身于 web3 开发。
我们先回想一下,用传统的全栈开发搭建一个网页或移动应用时,基本可以依托于大量现有的技术轮子,很快就可以搭建市面上几乎所有能想到的应用。我们经常会用到下面这些技术:
API 服务端(比如 REST 或是 GraphQL)
用户验证(通常自建或使用第三方)
数据库 (关系型数据库或者 NoSQL)
客户端(各类框架、平台或类库,如 Vue/React)
文件存储(比如短视频的存储)
使用这些核心组件,我可以构建出我想要的大多数类型的应用程序,或者至少可以实现大部分目标。那么这在 web3 中是什么样子的呢?
事实证明,这个问题的答案并不那么简单,因为:
逻辑在许多方面完全不同
web3 工具、技术和生态系统不如 web2 成熟
我也更难理解如何启动和运行以及构建 web3 应用程序,因为我处理问题的方式与我在 web2 世界中的方式相同。
在过去 8 个月左右的工作、研究、实验和构建之后,我想分享一下我学到的东西。
我们先来看看什么是 web3,然后再去探究 web3 技术栈。毕竟 web3 还在比较早期萌芽的状态,网上能找到各种各样的对 web3 的解释,但 Nader 认为 web3 最为准确的解释是:
web3 是一组开发去中心化应用时所必须遵循的协议。
遵循这些协议,我们就可以开发去中心化应用。遵循 web3 协议所开发的去中心化应用将有以下特点:
用户对数据、内容、甚至平台的所有权
用户身份的自主权
原生的支付方式(加密货币)
去中心化、分布式、非基于信任的基础建设
开放、公开、模块化的应用逻辑层
使用 web3 所开发的去中心化应用将会取代一些他们 web2 的前身。但借助于区块链下原生的支付方式以及公开的底层架构, 一系列前所未有的应用将会成为 web3 下全新的产物。 这些新产物是更令人期待的、无法预知的新创造。虽然去中心化的应用在某些场景是更有优势的,但中心化的应用在将仍然有存在的必要,未来更有可能是两种模式的共存和协同。
对于开发人员来说,我们还需要理解 web3 开发所需要的技术栈。web3 技术栈可以分为以下几大类:
区块链
区块链开发环境
文件存储
链下数据协议
数据索引和查询(API)
身份识别
客户端(框架和库)
区块链预言机
其他相关的协议

当你开发一个区块链应用时,有非常多的区块链可供选择。现在也并没有一个区块链出类拔萃。选择区块链时你要明确自己的需求并做好取舍。
Nader 自己在进行选择时会遵循二八法则,选择更容易上手的区块链。Nader 认为 Solidity 语言搭配以太机虚拟机(EVM)是刚接触区块链的程序员最好的选择。在掌握了以太坊相关技术后,我们可以运用这些技术在以太坊、以太坊 Layer 2、侧链甚至其他公链上(例如Avalanche, Fantom, and Celo)建立应用。
Rust 语言也正逐渐在区块链领域流行起来。包括 Solana, NEAR, Polkadot 等公链都对 Rust 语言提供了原生支持。但对于初学者来说,如果今天有人问我,Solidity 仍然是更好的选择。
基于技术成熟度、工具生态链、开发者社区、热度和前瞻性,Nader 列出了他认为比较好的一些区块链平台:
以太坊(Ethereum):创世纪的 Smart contract 平台
ZK rollups(ZKSync、Starknet、Hermez):高吞吐量以太坊 Layer 2,但是并不与以太机虚拟机原生兼容
Optimistic rollups(Arbitrum、Optimism): 以太坊 Layer 2,且与以太机虚拟机原生兼容
Polygon:以太坊侧链
Solana:高吞吐量、低交易费、区块速度快,缺点是入门门槛相比以太机虚拟机要高
NEAR:用 Rust 或 Assemblyscript 编写 smart contract
Cosmos:相互兼容区块链的生态
Polkadot:区块链算力平台,在此平台之上可以互相连通的区块链
跟这些公链需要交互的时候,我们会用到 RPC 接口,以下是一些接入方式:
使用一个公共的 RPC 端口
自己跑一个节点
使用一个中心化的第三方端口提供商
使用一个去中心化的第三方端口提供商
公链一般都会提供公共的 RPC 端口。但这些公共端口一般都不太稳定,所以你的 dApp(去中心化 APP)往往都要用到你自己的端口或者是一个可靠的第三方供应商。这里列举一些常见的供应商:
上面这些都算是“中心化”的供应商,如果你希望找个去中心化的供应商,可以看看 Pocket Network 。
对于 EVM 开发,有一些很好的开发环境可用:
Hardhat (JavaScript): 相对比较新但越来越流行。Hardhat 的文档很出色,开发工具和开发体验都被打磨得比较好。这是 Nader 本人首选的开发环境。
Truffle (JavaScript):基于以太机虚拟机的一套开发工具。相对比较成熟,有完善的文档,开发者群体比较大。
Foundry:Paradigm 开发的一个新的 Solidity 开发环境。它可测试且支持模糊测试。因为是用 Rust 编写的,它的速度也相当快。
Brownie:基于 Python 的开发和测试框架,适用于 Solidity 和以太机虚拟机开发。
对于 Solana 开发,Anchor正迅速成为新开发人员的切入点。它提供了一个用于搭建、构建和测试 Solana 程序的 CLI,以及可用于构建前端的客户端库。它还包括一个 DSL,它抽象了开发人员在开始使用 Solana 和 Rust 开发时经常遇到的许多复杂性。
在 web2 上我们可以把文件存储在中心化的服务器上(包括阿里云 OSS 等),对于 web3,在链上直接存储大体积文件是非常昂贵的,那在我们应该如何存储图片视频等大体积的文件呢?我们也有一些可供选择的文件存储协议:
IPFS:P2P 文件系统协议。优势是可靠性高,文档完整且生态完备。劣势是文件有丢失的可能性。
Filecoin:由开发了 IPFS 的 Protocol Labs 开发。适用于永久性文件存储。web3.storage 是一个不错的基于 Filecoin 的项目。
Skynet:Nader 并没有实战应用过这个协议。但它的 API 似乎很不错。
除了去中心化的文件存储协议和直接在链上存储文件以外,我们还需要在链外存储一些数据。乍一看这可能跟 web2 的数据库很相似,但实际上你的数据会被复制在一个去中心化网络的多个节点上,理论上这个数据库的可信赖度更高一些。下面是一些链下数据库可供选择:
Ceramic Network:去中心化的开源数据平台。
Textile ThreadDB:基于 IPFS 和 libp2p 的多方数据库。
GunDB:去中心化的 P2P 数据库。
链下数据协议目前还非常不成熟。比如实时数据、数据冲突检测、授权等等都是这些数据协议仍然亟待处理的挑战。同时,链下数据库与区块链的一体化如果不能解决,那我们也不可能做出真正去中心化的大型 APP。
我们与区块链交互和构建区块链的方式与传统技术堆栈中的数据库存在很多差异。使用区块链,数据不会以可以直接从其他应用程序或前端有效或轻松使用的格式存储。
区块链针对写入操作进行了优化。您经常听到围绕每秒交易、区块时间和交易成本发生的创新。区块链数据随着时间的推移以块的形式写入,使得除了基本读取操作之外的任何操作都是不可能的。
在大多数应用程序中,您需要关心数据、排序、过滤、全文搜索、分页和许多其他类型的查询功能等功能。为此,需要对数据进行索引和组织以进行有效检索。
传统上,这是数据库在集中式技术堆栈中所做的工作,但在 web3 堆栈中缺少索引层。
Graph是一种用于索引和查询区块链数据的协议,它使这个过程变得更加容易,并为此提供了一个去中心化的解决方案。任何人都可以构建和发布开放的 GraphQL API,称为子图,使区块链数据易于查询。
要了解有关 The Graph 的更多信息,请查看此处的文档或此处的教程。
身份识别也是 web3 和 web2 重要的区别之一。web2 的身份识别是基于个人信息,比如你让用户提供用户名和密码。web3 的身份识别则完全基于“钱包”和公钥加密。
作为一个开发者,我们需要知道如何获取用户的钱包公钥并进行交互。我们至少需要能够链接这些加密钱包。在浏览器内或移动客户端,我们可以借助于类似于 WalletConnect 和 Solana’s Wallet Adapter 这样的工具。我们也可自己去处理身份识别,在这里就不做赘述了,详细可以看看这两个例子:EVM 或 Solana。
那我们如何管理用户资料呢?Ceramic Network 提供了一套非常健全的协议和工具来帮助我们用去中心化的方法管理用户资料。ethers.js 库则为我们提供了获取 ENS 相关信息的工具。SpruceID 也同样值得一试。Ceramic 和 Spruce 都是基于 W3C DID 规范。
就 JavaScript 来说,我们可以用任何 JS 前端框架来搭建客户端。大部分区块链的 JS SDK 都不限制 JS 框架。懂得 React 仍然还是有一定的好处,毕竟大部分例子还是都基于 React。也有很多类似 Solana Wallet Adapter 的库直接支持了 React。
对于以太坊开发的 SDK,web3.js 和 ethers.js 都不错。Ethers.js 可能相对更容易上手。对于 Solana,@solana/web3.js 和 Anchor 都是很好的选择。如果你用了 Anchor 框架,那自然你的前端用 Anchor 也就更容易了。
区块链预言机让开发人员在智能合约中使用区块链以外的数据。对于 DeFi 应用,区块链预言机已经有很大的作用,这些金融智能合约需要知道外部世界的很多信息,比如油价。
Chainlink 是一个区块链预言机。它让智能合约能够获取外部世界数据的同时,确保了安全和可靠性。Flux 是一个跨链的预言机。
Radicle:去中心化的 GitHub。
Livepeer:去中心化的视频平台。这个平台已经相当成熟,链上已经有超过 7万个 GPU。
https://edgeandnode.com/blog/defining-the-web3-stack
https://dev.to/jiachenyao/web3-ji-zhu-zhan-1k40
如果有问题交流,可以关注并私信我:微信(jingwentian)、Twitter(@0xDaotian)、微信公众号(北极之野)、Substack邮件订阅(文叔白话WEB3)。
Avalanche:与以太机虚拟机兼容的 Layer 1
Celo:与以太机虚拟机兼容的 Layer 1,对移动端友好、易于在移动端收发存储加密货币
Tezos:与以太机虚拟机不兼容的 Layer 1,但有很多 NFT 基于此区块链
Avalanche:与以太机虚拟机兼容的 Layer 1
Celo:与以太机虚拟机兼容的 Layer 1,对移动端友好、易于在移动端收发存储加密货币
Tezos:与以太机虚拟机不兼容的 Layer 1,但有很多 NFT 基于此区块链
No activity yet