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 以及所有事件它发出了什么以及它是否成功或恢复。

相关推荐
devmoon17 小时前
Polkadot SDK Pallet 单元测试完整指南:从基础到实战
单元测试·web3·区块链·模块测试·polkadot
devmoon18 小时前
为 Pallet 搭建最小化 Mock Runtime 并编写单元测试环境
开发语言·单元测试·区块链·智能合约·polkadot
晚霞的不甘19 小时前
Flutter for OpenHarmony 打造沉浸式呼吸引导应用:用动画疗愈身心
服务器·网络·flutter·架构·区块链
devmoon20 小时前
Chopsticks 本地分叉平行链实战指南
安全·智能合约·polkadot·erc-20·独立链
devmoon20 小时前
Polkadot SDK 自定义 Pallet Benchmark 指南:生成并接入 Weight
开发语言·网络·数据库·web3·区块链·波卡
综合热讯20 小时前
股票融资融券交易时间限制一览与制度说明
大数据·人工智能·区块链
暴躁小师兄数据学院21 小时前
【WEB3.0零基础转行笔记】Solidity编程篇-第一讲:简易存储
web3·区块链·智能合约
devmoon1 天前
运行时(Runtime)是什么?为什么 Polkadot 的 Runtime 可以被“像搭积木一样”定制
开发语言·区块链·智能合约·polkadot·runtmie
暴躁小师兄数据学院1 天前
【WEB3.0零基础转行笔记】Rust编程篇-第一讲:课程简介
rust·web3·区块链·智能合约
devmoon1 天前
在 Paseo 测试网上获取 Coretime:On-demand 与 Bulk 的完整实操指南
开发语言·web3·区块链·测试用例·智能合约·solidity