Web 3 一些常见术语

目录

    • [Provider 提供者](#Provider 提供者)
    • [Signer 签名者](#Signer 签名者)
    • [Transaction 交易](#Transaction 交易)
    • [Contract 合约](#Contract 合约)
    • [Receipt 收据](#Receipt 收据)

首先,从高层次上对可用对象的类型及其负责的内容有一个基本的了解是很有用的。

Provider 提供者

一个 Provider 是与区块链的只读连接,允许查询区块链状态,例如帐户、区块或交易详细信息,查询事件日志或使用调用评估只读代码。

如果您来自 Web3.js,您会习惯于提供读写访问权限的Provider 。在 Ethers 中,所有写操作都被进一步抽象为另一个对象,即Signer

Signer 签名者

一个 Signer 包装与帐户交互的所有操作。帐户通常在某处有一个私钥,可用于对各种类型的有效负载进行签名。

私钥可能位于内存中(使用 Wallet )或通过某些 IPC 层进行保护,例如 MetaMask,它代理从网站到浏览器插件的交互,从而使私钥远离网站,并且仅在请求用户许可并收到授权后才允许交互。

Transaction 交易

要对区块链进行任何状态更改,需要进行交易,这需要支付费用,其中费用涵盖执行交易(例如读取磁盘和执行数学)和存储更新信息的相关成本。

如果交易恢复,仍然必须支付费用,因为验证者仍然必须花费资源来尝试运行交易以确定它已恢复,并且仍然记录其失败的详细信息。

交易包括从一个用户向另一个用户发送以太币、部署合约或针对合约执行状态更改操作。

Contract 合约

一个 Contract 是一个已部署到区块链的程序,其中包含一些代码并分配了可以读取和写入的存储空间。

当它连接到一个 Provider 或者当连接到一个时可以调用状态改变操作 Signer

Receipt 收据

一旦交易被提交到区块链,它就会被放置在内存池(mempool)中,直到验证者决定将其包含在内。

交易只有在被包含在区块链中后才会发生更改,此时会收到收据,其中包含有关交易的详细信息,例如包含在哪个区块中、实际支付的费用、使用的 Gas 以及所有事件它发出了什么以及它是否成功或恢复。

相关推荐
friklogff1 小时前
【C#生态园】提升C#开发效率:深入了解自然语言处理库与工具
开发语言·c#·区块链
SunsPlanter11 小时前
02 ETH
区块链
小妖别跑13 小时前
PDA(程序派生地址,Program Derived Address),为什么有这个地址,而不是直接指定地址
前端·智能合约
yunteng52118 小时前
零知识证明-ZK-SNARKs基础(七)
区块链·零知识证明·zk-snarks·ricp·qap
山师第一深情20 小时前
solidity-19-fallback
区块链
zhuqiyua21 小时前
TVM和EVM的比较
区块链·智能合约·ton
sino_sound21 小时前
伦敦金的交易差价意味着什么?
人工智能·金融·区块链
清 晨21 小时前
开放的数据时代:Web3和个人隐私的未来
web3·去中心化·智能合约·隐私保护
dingzd951 天前
数字世界的新秩序:探索Web3的前景
web3·去中心化·智能合约
黑色叉腰丶大魔王1 天前
什么是区块链,以及应用场景
去中心化·区块链·分布式账本