- Most of the ICO crowdsales accept ETH only.
- Some accept BTC.
- Very few accept other assets.
I was thinking about creating crowdsale that would accept as many assets as possible.
While creating, monitoring, securing wallet for each asset might not be practical, the ETH addresses by definition accept ERC20 tokens.
I was thinking about calling Bittrex API (most amount of assets supported) to check the current value of the token and use BTC as a baseline (1 BTC = 1000 tokens).
In that way I could provide 2 addresses only – BTC and ETH:
-
people who send BTC:
- 1000 tokens per BTC
- send signed message containing ETH address to accept ERC20
-
people who send ETH / ERC20:
- process monitoring the address / mempool
- getting pricing data from API (maybe weighted average)
Then compile list of all contributors, create and transfer tokens accordingly.
Is that solution possible / reasonable / sensible at all?
- transactions on blockchain.info and etherscan.io are visible by default anyway
- signing message with ETH address using BTC private key does not expose any sensitive data
- it allows people to send tokens with less friction (exchange, spread, gas)
For sake of simplicity in this question I assume ERC20 / ERC223 are treated the same. Newly craeted token is likely to be ERC223. Read more:
Best Answer
This is only a partial answer to your question. One issue you would face is that deposits by people who buy your tokens with BTC or any other cryptocurrency besides ETH would have to be credited manually since they would not be able to interact directly with a smart contract. SONM's ICO accepted both ETH and BTC and run into quite a lot of challenges with the BTC part of the equation. See this article:
In this other StackExchange post about how to set up a multicurrency ICO, someone recommended using BTC Relay which creates a bridge between the BTC blockchain and smart contracts.