EOS 是 Dan Larimer 设计的商用分布式区块链操作系统。从它设计诞生之时, 就获得区块链行业的关注, 作为公链项目, EOS 无论在设计模型, 还是在技术实现上, 与 Bitcoin 以及 Ethereum 都有很大的不同。作为普通用户, 我们可能很难关注到具体的代码实现细节, 但是所谓的 “不甚了解” 会给我们带来巨大的困扰。
参照往期我写的 Bitcoin 区块链浏览器 blockchain 以及 Ethereum 区块链浏览器 Etherscan 使用攻略, 我觉得还是从 EOS 区块链浏览器开始着手, 来写一系列方便用户理解 EOS 的教程。
都有哪些 EOS 区块链浏览器
EOS 的区块链浏览器有很多, 每个浏览器都有自己的特点, 可谓各有千秋, 但是值得庆幸的是, 相较于 Bitcoin 和 Ethereum 的浏览器来说, 绝大多数 EOS 区块链浏览器都支持中文,我这里列举几个自己常见的 EOS 区块链浏览器。
查询账户资源信息
EOS 不同于 Bitcoin 和 Ethereum, 它不再使用冗长的哈希地址作为收款地址, 而是像 Ethereum 的 ENS 域名一样, 使用账户名进行转账收款等操作。关于 EOS 的账户体系机制, 我会在下面系列教程中详细讲解。
那么如何查询一个账户的信息呢? 如果使用的是 https://scaneos.io 这个 EOS 区块链浏览器。
可以看到, 输入账户进行查询, 关于该账户的资源信息, 公钥权限信息一览无余, 清晰可见。关于 EOS 资源部分的讲解, 也会在后边的系列教程中进行详细的讲解。
但是 scaneos.io 这个浏览器有一个问题就是, 如果你输入一个账号的公钥, 会看到错误的显示信息。所以查询公钥权限, 我推荐使用 eospark.com 这个网站。输入账户名, 点击权限组, 可以清楚的看到 owner、active、阈值和权重。
如何查询账户转账信息
关于 EOS 转账信息查询, 我推荐使用 https://eosflare.io, 在此浏览器上, 可以清晰查看普通转账、投票抵押、赎回、买卖资源等转账信息。
首先我们先要理解 https://eosflare.io 中表现各种交易类型的表达方式:
Sent : 转出操作
Received : 收款操作
Vote : 投票操作
Delegate : 抵押操作
Undelegate : 赎回操作, 例如赎回抵押的Net 带宽、 CPU 带宽以及投票抵押
Unstake : 赎回操作成功之后的显示, 一般伴随着 Undelegate 操作的 72 小时后账户收到退款才会显示
Buy RAM : 购买 RAM 操作 (购买 RAM 所需 EOS 数量)
Sell RAM : 卖出 RAM 操作
Buy RAM Bytes : 购买 RAM 操作 (购买 RAM 的字节数)
New Account : 创建新 EOS 账户操作
xxxxx-transfer : EOS 链上 xxxxx 空投项目转账操作
Update Auth : 升级权限操作
关于 EOS 转账备注信息 Memo
在 EOS 系统中, 在进行转账交易时, 可以附带备注信息 (memo)。首先要提到一点, EOS 代币在 EOS 系统中是以智能合约的形式存在的, 这点和以太坊中的 ETH 有很大的不同, 我个人认为这也是 EOS 的优点之一, 增强了 EOS 代币的可扩展性, 我们在使用以太坊上的 0x 去中心化交易协议时, 需要先把 ETH 转化成等量的 WETH, 然后才能实现与其他 ERC20 代币的交换, 正是受限于此。而在 EOS 网络中, 则不会出现这样的问题。
EOS 的交易是通过 message 的方式来表示的,上面所提到的代码,定义了 eos 的转账方式, 可以看到包含合约名称 (code)、交易类型 (type)、所需权限 (authorization) 以及数据结构 (data), 而 data 中包含付款账户以及收款账户名称、转账数量和我们所讲的备注信息 (memo)。
那么为什么我要着重讲解 memo 呢? 因为目前很多交易所开放了主网 EOS 的充值功能, 但是在充值的时候, 会提示用户需要输入特定的备注信息, 这里的备注信息, 就是 memo。 如果你在使用 imToken 向交易所充值 EOS 的时候, 只需要在备注一栏里, 输入交易所提供给你的备注信息即可。
如何查看 EOS 账户上的其他合约代币
EOS 作为公链和 Ethereum 一样, 可以在这条链上通过智能合约发行代币, 我们之前在使用 Etherscan 时, 可以查询到该地址上所持有的所有 ERC20 代币, 那么如何使用 EOS 浏览器, 查看账户上所持有的其他 EOS 合约代币呢?
这里推荐使用两个浏览器:
首先先介绍 myeoskit 输入账户名称, 点击 “ACCOUNT BALANCES” 可以看到该账户下所有除了 EOS 的合约代币。
同样, 使用 eosmonitor , 输入账户名称, 点击图中的下拉框, 就可以看到该账户下所有除了 EOS 的合约代币。
靓号查询
EOS Account Name (账户名) 分为两种形式, 一种是普通地址类型, 必须是 12 个字符, 由 1- 5, a - z 组成 (英文字母必须是小写); 另一种是靓号地址, 可以不是 12 个字符, 比如 imtoken, 但是也需要是小写英文字母。
EOS 靓号必须通过竞拍来获得, 任何人都可以参与任何账户名的竞拍。但是需要了解以下规则:
- 竞拍者每次出价价格, 要比当前价格高 10%
- EOS 系统每天只会成交一个出价最高的靓号账户
- 如果一个账户在 24 小时内出价最高, 并且该价格高出当日所有其他靓号账户的竞价价格, 那么将胜出
- 如果有其他人在 24 小时内出价高于你的出价, 那么以最高出价人出价时间开始 24 小时周期计时
举例来说, 如果我想注册一个 imtoken 的靓号, 在 2018 年 7 月 13 日凌晨 00:00 出价 10000 EOS, 那么如果在 2018 年 7 月 14 日凌晨 00:00 之前, 没有任何一个靓号的竞拍价格比我高, 那么我就可以成功获得 imtoken 这个账户。其实恕我直言, 这个规则, 目前还是比较 “坑” 的, 希望以后能做调整。
账号权限查询
关于 EOS 的账户机制, 我会在下一章进行详细的讲解, 这里我只着重讲解, 如何使用区块链浏览器 eospark.com 查看你当前账户的私钥权限。
进入 eospark.com 网站, 输入你的账号, 点击搜索, 即可到下边这个界面
这里可以看到, imtokensimon 这个账号下一共要两把公钥绑定, 但是这两把公钥是一致的, 也就是说 Owner 和 Active 所对应的公钥是一致的。Owner 和 Active 的阈值都为1, 两把公钥的权重也为 1。
(未完待续…)