3

I am hoping someone has a answer to what I think is a relatively simple question. I started splitting my ETC from ETH using the ReplaySafeSplit contract. Some test and smaller transactions worked fine, so I decided to send the rest of my initial ETH/ETC balance through the contract.

The contract worked fine on the ETH chain, but didn't get replayed on the ETC chain because I neglected the gas cost so there were insufficient funds to execute. All my ETH is fine which is the main concern, but now the ETC is "blocked" with this invalid call. When I subsequently tried to send smaller amounts of ETH through the splitter contract, nothing ever arrived on the ETC chain.

Does anyone have any ideas how to reset the ETC side to allow the valid splitter calls to go through? Thanks for your wisdom.

2

Transactions are given a number, called the nonce. The rule is that an account may only have transactions happen in order of the nonce.

On the ETC chain, what's likely happened is that the too-high transaction has nonce X, and no transaction afterwards (nonce X+1, X+2...) will happen, due to the unprocessable earlier transaction.

All you need to do is, one way or another, provide a valid transaction to the ETC network with the right nonce, and things will start sorting themselves out.

There's a simple possible fix: sync a GUI wallet to the ETC chain, and then send a small transaction. If the wallet doesn't know of the bad transaction, it'll automatically pick the next available nonce to use, which will overwrite that bad transaction. Hopefully things will unclog after that, and you can also use that ETC-synced wallet to finish the job.

You can definitely do this in the console, using eth.sendTransaction(). It's more technically complicated, so I would strongly recommend at least trying the GUI solution first.

EDIT: If this works, what'll likely happen next is that the subsequent transactions you sent (the ones that didn't occur on the ETC chain) will happen. The ETC will therefore be partially split (since you overwrote that large splitting transaction with a smaller, working one). Much of it will still be at the original address.

Chances are that you can finish the job simply by sending normal transactions to your desired address, since the imbalance of ETC on the original address will prevent it from being replayed. As I mentioned, as long as you have control of every address involved, on any chain, you can sort it out eventually.

If you wish, you can post a link to your addresses (on etherscan.io or a similar site) and I may be able to give more specific advice.

  • Thank you for the answer Matthew. Must I sync a full blockchain wallet to make this work? Or could I send a transaction from a mobile wallet like Jaxx? Also, just to clarify, am I sending a transaction FROM the affected wallet or TO the affected wallet? – user5090 Nov 14 '16 at 19:31
  • I don't believe you would need a full wallet, just one that's using the ETC chain. And it is FROM the affected account. – Matthew Schmidt Nov 14 '16 at 21:04
  • If I send from the affected ETC account, won't it be replayed on the ETH chain? So I must send a tiny amount in order to use the corrupted ETC nonce, but not lose any significant amount of ETH in the process since the replay will be to an ETH address I have no control over. Does that sound correct? – user5090 Nov 15 '16 at 23:41
  • Chances are almost certain this transaction won't be replayed. Call the bad nonce X. On the ETH side, your transaction with nonce X succeeded, and there can't be another. On the ETC side, your transaction with nonce X failed, and we're providing a new one. Still, sending a small amount is the best policy--I'm hopeful, but not certain this would work. You can probably send zero ETC--it still counts as a transaction. – Matthew Schmidt Nov 16 '16 at 1:48
  • Also, do you own both addresses (the one you want ETC on and the one you want ETH on?) Private keys from either side work on the other, so as long as you own both you can eventually sort it out, no matter what amount of what coin is on either address. – Matthew Schmidt Nov 16 '16 at 2:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.