计算机编程中的抽象和数据抽象指的是隐藏除了「对象」相关数据以外的所有数据的过程,目的是减少复杂性并提高有效性。它通过省略不必要细节的方式来表示对象。抽象是面向对象编程(object-oriented programming)的三大原理之一,它与封装和数据隐藏有关。这篇文章将为以下方面提供概览:
以太坊账户抽象
· 外部账户/用户账户
· 合约
为账户抽象提议的 EIP
· EIP-86:事务来源和签名的抽象
· EIP-2938:账户抽象
· EIP-4337:通过入口点合约 (Entry Point Contract) 实现的账户抽象
用例
· 钱包
· 赞助交易
· 混币
· DeFi 协议
账户抽象
以太坊的账户抽象以创建单一账户类型为目标,这种账户将包含所有相关方面,而且没有任何无关的方面,让开发人员的工作更加轻松。
以太坊账户类型
目前,在以太坊区块链上有两种类型的账户:
用户账户是给一般人使用的(人类)。
· 这些账户由对应公共地址的私钥所控制,比如用户的钱包账户。
· 这些账户又称为外部账户 (EOA),不需要 ETH 余额就可以在区块链上创建一个外部账户。但是,两个外部账户之间可以用 ETH 进行交易,也可以用 ERC 支持的其他 Token。
· 外部账户 (钱包) 用于加密货币的发送和接受功能存在于以太坊虚拟机(EVM)的外部。
合约
合约是一组由代码控制的指令。
· 因为使用了网络储存,所以创建一份合约通常会产生相关成本。
· 用户可以操作多种功能,比如接收来自外部账户和合约账户的事务,以及向它们发送事务。
· 它还可以启动一个执行多种活动的代码,包括兑换 Token 或是创建一个新合约。
· 合约账户是存在于 EVM 的「智能合约」。
如果你发送 1 个 ETH 到由代码合约控制的账户,那就没有人可以再控制这个 ETH 了。唯一可以转移这个 ETH 的是合约的执行,即代码本身。
两种账户类型都具有接收、保留和发送 ETH 和
欢迎光临 优惠论坛 (http://tcelue.co/)
Powered by Discuz! X3.1