51 large

如何在发送 ether 时避免重放攻击及如何安全交易 ETC

rubyu2 · 于 发布 · 最后由 eureka回复 · 1108 次阅读

避免重放攻击可以使用v大的 HFConditionalTransfer 合约,地址:0xb671c3883307cf05bb3dff77a9754e87b4347195,在这里:http://etherscan.io/address/0xb671c3883307cf05bb3dff77a9754e87b4347195

需要注意的一点是因为合约里判断地址 0xbf4ed7b27f1d666546e30d74d50d173d20bca754eth > 1000000 ether 则认为是分叉的链,所以最好先验证 0xbf4ed7b27f1d666546e30d74d50d173d20bca754 是否是有足够的 eth,因为存在可能在某一时刻,大家取现,导致里面的金额少于1000000 ether。( 0xbf4ed7b27f1d666546e30d74d50d173d20bca754 地址的合约是 DAO Withdrawal 的合约,参考 http://ethfans.org/topics/524

首先watch contract

打开钱包,点开CONTRACTS菜单,选择WATCH CONTRACT。
* 输入 CONTRACT NAME: HFConditionalTransfer
* 输入 CONTRACT ADDRESS: 0xb671c3883307cf05bb3dff77a9754e87b4347195
* 输入 JSON INTERFACE:

[{"constant":false,"inputs":[{"name":"to","type":"address"}],"name":"transferIfHF","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"}],"name":"transferIfNoHF","outputs":[],"type":"function"}]

点击OK。

在分叉链上交易

在The Hard-Fork Chain上使用“Transfer If HF”,选择CONTRACTS菜单,点击HFCONDITIONALTRANSFER合约。
在合约右边的点击“Select function”,选择“Transfer If HF”,输入你想要发送ether的地址到 to,选择你的账号,在 send 里填入你想要发送的ether,最后点击ok

在原链上交易

如果是在The Non-Hard-Fork Chain上,方法同上,但是选择“Transfer If No HF. ”

如何安全的交易ETC

如果你想要发送在Hard Fork之前的ETH到交易所交易ETC:
1. 首先下载最新的钱包(0.8.1),选择不支持硬分叉。
2. 如果之前你已经选择最新客户端,并选择的支持硬分叉。需要你清空原有的数据,并选择不支持硬分叉。

(选择备份账户,找到你的账户文件夹)

(清空chaindata里的数据,方便同步另外一条链的数据,否则账号余额可能会显示不正确)

(选择不支持分叉)
3. 打开交易所网站,找到你的ETC的充值地址,然后使用上面的“Transfer If No HF. ”的方法来进行充值。

  • 128
    eureka

    原链指的应该就是ETC呀,为什么还有“如何安全交易ETC”这个单独的一段呢?