-
Notifications
You must be signed in to change notification settings - Fork 9
ScriptHash ShortAddress EthAddress 之间关系
Miles Zhang edited this page May 26, 2022
·
3 revisions
- 一个 account 上链后会传有一个唯一的 account_id 和对应的 script_hash
- short address 是 script hash 的前 20bytes
- eth_address 是 layer2 account 的 script 中的 args 的最后 20bytes, 前面是roll_up_hash
- 目前由于特殊原因,合约是用的 short_address 来作为eth_address 使用的,所以合约的eth_address 其实是没有用的,然后user 类型的账户是用的eth_address
- udt 在 erc20 转让的时候,to_account_id 是合约的id,然后input 解析出来的接收地址其实是short_address, 需要转成eth_address
account id: 520
account_script_hash: 0x47872353d23904ddace99e2d14f6589c08cd47780d0e4f6c680d09c2e6d83c3a
account_short_address: 0x47872353d23904ddace99e2d14f6589c08cd4778
rollup_script_hash: 0x40d73f0d3c561fcaae330eabc030d8d96a9d0af36d0c5114883658a350cb9e3b
account script:
script: %{
"args" => "0x40d73f0d3c561fcaae330eabc030d8d96a9d0af36d0c5114883658a350cb9e3b" <> "519d1f63343358c5e0cbf07c3710fc8e36cb5a83",
"code_hash" => "0x1563080d175bf8ddd44a48e850cecf0c0b4575835756eb5ffd53ad830931b9f9",
"hash_type" => "type"
}
eth_address: 0x519d1f63343358c5e0cbf07c3710fc8e36cb5a83
v1.1 之后 short_address 已经移除, 从而EOA user 和 Contract user 都使用 eth_address 来作为唯一地址