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

相关推荐
CTA终结者1 天前
期货量化主力换月程序怎么移仓:天勤 underlying_symbol 与任务切换
python·区块链
小Q的编程笔记1 天前
Pump.fun 的核心是什么?用 300 行 Solidity 实现 Bonding Curve 与自动 LP 销毁
前端·后端·智能合约
CTA量化套保2 天前
期货量化临期合约还能不能做:程序化到期禁开与强平写法
python·区块链
下午写HelloWorld2 天前
【概念与应用】轻量级加密算法LEA、动态脱敏算法DDA、零知识证明ZKP和优化协同交互协议OCIP
算法·区块链·密码学·安全架构·零知识证明
2601_956319882 天前
期货报单被拒怎么识别与处理:order 状态与 last_msg 用法
python·区块链
CryptoPP2 天前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
栗子~~2 天前
ethers - 区块链变更链上状态与在确认(对账)说明
区块链
Jinkxs2 天前
Java 跨域14-Java 与区块链(Hyperledger)集成
java·开发语言·区块链
cmes_love2 天前
期货Level 2五档Tick历史数据详解
区块链
Man on the moon2 天前
Solidity 零基础入门:从语法到实战,快速掌握智能合约开发
web3·区块链·智能合约