我们都知道以太坊内有两种不同类型的账户,分别成为外部账户(或者大家会直接简称为账户)和合约账户,那这两种账户有什么区别呢?
以太坊中有两类账户,它们共用同一个地址空间。外部账户,该类账户被公钥-私钥对控制(人类)。合约账户,该类账户被存储在账户中的代码控制。外部账户的地址是由公钥决定的,合约账户的地址是在创建改合约时确定的(这个地址由合约创建者的地址和该地址发出过的交易数量计算得到)
在区跨链中,一般都是由私钥生成公钥,公钥生成地址,二以太坊这里的账户,可以理解为是对地址的一种抽象表达。而这两种账户,也相当于是地址的两种不同表现形式,
从两种账户的生成方式说起,外部账户的地址是由公钥加密后生成的,合约账户的地址是在创建合约是确定的。其实外部账户的获取很简单,各种以太坊钱包的客户端和 geth都可以创建。
但是合约账户,是基于智能合约的,所以,合约账户需要在建立合约之后才后。
可以这样认为:创建外部账户—创建智能合约--创建合约账户
两种账户都可以实现对以太币的管理,包括持有以太币、查询余额、发送交易等。
但是由于合约账户是由代码控制的,所以你在合约账户中你可以实现更多个性化的管理:
1.你也可以在合约账户查看账户的接收记录(外部账户暂时不支持此功能)。
2.可以生成多签名的钱包,多签名的钱包可以设置一个每日的限额,超出限额的部分需要多签才能交易。
3.可以将多签名钱包设置为 “仅可查看”类型的钱包。(watch only)
虽然合约账户的好处多多,但是在使用上也是有一定门槛的。
创建账户不需要任何花费,但是创建合约账户需要支付一定的Gas,而且你在合约钱包中的任何操作都是需要支付Gas的,因为执行这些合约需要花费以太坊网络中宝贵的计算和存储资源。
网友评论