仮想通貨 技術研究所

仮想通貨 技術研究所

実際に手を動かすことを重視した仮想通貨のHow toブログ

ICOしてみた | 自分がやる場合の技術的な話【最終回】

f:id:tetsuyaimagawa:20170905152100p:plain

前回までのあらすじ

BTCのジェネシスを生成し、ETHのgenesis.jsonを書き換え
ソースコードと奮闘していた私は、ついに気づいてしまった。

ICOに技術はいらないことに…


今回のあらすじ

トークンを発行し、ICOをするまでのプロセスを説明する。


ICOの流れ

BTCやETHのアドレスを公開し、ICOのレートを事前に伝え、単純に送金してもらう。
送金して貰ったアドレスにトークン(独自通貨)を戻す。必要なものは

  1. トーク
  2. ICO用ウェブページ
  3. ホワイトペーパー(任意)

BTCとETHを購入する

日本のメジャーな仮想通貨取引所であるCoincheckでBTCを購入する。



BTCのトークン発行

トークンは独自通貨のことである。BTCやETH等のブロックチェーンに独自通貨を乗せる形になる。
BTCの場合は、CounterwalletにBTCとXCPを送金すればすぐできる。日本語記事も結構あるのでご参照。
Counterwallet - Free Web Wallet for Bitcoin and Counterparty


ETHのトークン発行

ETHの方が一つのウォレットで様々なトークンを保存できるので好まれる。
Why do ICO s choose ETH rather than BTC? - Coin Noob

Walletから発行するのが正攻法なのかもしれないが
Create a cryptocurrency contract in Ethereum
Walletはノードを全てダウンロードしなければならないので、METAMASKとToken factoryを使う。

MetaMaskインストール

ETHのDappをブラウザで実行できるChrome plugin。
MetaMask
ETHが必要なので、少額送っておく。

Token factoryでトークン発行

下記ページのCreate Token Contractを選んで、必要項目を入れ、Create Tokenを押す。
Token Factory
MetaMaskが立ち上がるので、Acceptを押す。コントラクトが作成される。

Token factoryで入力した情報が反映されている。


スマートコントラクト改変

例によって、既存のコントラクトから学ぶ。
トークン"RvT"

コマンドラインから

正攻法は↓らしい。
www.ethereum.org
時間がかかりそうなのでMyEtherWalletからやる↓

MyEtherWalletから

Contract -> DeployContractでできる。

SourceからByteCodeへの変換

↓Remixを使う。
Remix - Solidity IDE
右側のメニューにある、Contract details (bytecode, interface etc.)をクリックするとSourceをByteCodeに変換したものが出てくる。

ByteCodeをOpcodeへ変換

↓EtherScanで行う。
Ethereum ByteCode to Opcodes Disassembler/Decoder


ICOページの作成

下記項目を記したページを作成する。

メールアドレスを入力させ、会員登録をするのが一般的のよう。
ETHに載せられるDataやGasの量も明記する。

それっぽいjsカウンターとか持ってきて、作ってみた。
influencer.link

これも既存のICOページを色々見てみるのが一番の近道。


法的な話

改正資金決済法により、登録事業者以外の仮想通貨の売買は規制されている。
business.bengo4.com

規制はされているが、グレーゾーンで、実際やったらどうなるか分からないというのが一般的見解だったが
ALISが入念に調べまくって突っ走った事例があるので、ICOされたい方は必読である。
medium.com

その後の調べによると、どうやら仮想通貨をトークンと交換するだけでは資金決済法に抵触しないという見解が一般的になっているようだ。

まとめ

ICO技術についてまとめた。
技術的に難しいことではないので、どちらかと言うと弁護士や有識者から、どれだけ助けを貰えるかの方が重要な気がする。