JPYC Rinkeby の使い方
JPYC(JPYCoin)は日本初の日本円ステーブルコインです。ERC-20規格のトークンでイーサリアムのメインネットで動いています。現在Amazonでの物品購入ができる他、UniswapなどDAppsの二次流通市場で日本円建てのコインとして使うことができるようになっています。法律上のたてつけは日本暗号資産市場株式会社様が発行する資金決済法上の自家型前払式支払手段です。自家型では発行する事業者の提供するサービス内で使用可能というルールがありますが、非中央集権的なイーサリアムブロックチェーン上で動いているのでユースケースはこれから広く考えられると思います。DAppsなどのテストのためにテストネットの1つであるRinkebyにJPYCをデプロイしてみました。テストネットは無償なので実験は自由なはずです。アドレスはここ。
特徴
- EthereumメインネットのJPYCのフォークです
- ChainlinkのフィードからETH/JPYを計算します
工夫した点としましてコントラクトにRinkebyのEthを送金するだけでJPYCを得られるようにしました。その際にコントラクトから送金されてくるJPYCの額をChainlinkのフィードから得られるようにしました。
JPYC Rinkebyのゲットんの仕方
RinkebyのEthとウォレット(MetaMaskなど)が必要です。前述のとおりJPYC RinkebyのスマートコントラクトへRinkebyのEthを送金するだけでスマートコントラクトがJPYC Rinkebyを送り返してくれます。
- Rinkeby Ethを入手します
RinkebyのFaucetを検索して自身のウォレットへEthを送金します。
以下のサイトに各ネットワークのEth入手方法がまとまっています。
※もしかしてRinkebyのFaucet死んでる?w
- JPYCへEthを送金します
ウォレット(MetaMaskなど)からスマートコントラクトのアドレスへEthを送金します。1) ネットワークをRinkebyテストネットワークへ切替える、2) 送信の↑をクリックする、3) JPYCのアドレスを入力し金額を指定する、4) 確認をクリックする
- JPYC Rinkebyが着金します
ChanlinkのRinkebyテストネットにデプロイされているフィードからETH/USDとJPY/USDを取得しETH/JPYを計算します。相当数のJPYCがウォレットに送金されてきます。
ウォレットにJPYCが出てこない場合はトークンを追加してください。トークンを追加のカスタムトークンタブ上で『Token Contract Address』へ0xbD9c419003A36F187DAf1273FCe184e1341362C0を入力します。次へを押して進むとJPYCが見えるようになっています。
EthからJPYの計算にはChainlinkのPriceConsumerV3を使っています。RinkebyのテストネットにETH/USDとJPY/USDのフィードが既にデプロイされていたためそれらの値からETH/JPYを計算して返す関数を実装しています。https://github.com/yuyasugano/jpyc-rinkeby
テストネットの選定
Ethereumのテストネットの違いについてあまり認識していませんでしたが、ネットワークごとの違いが色々とあるようでした。RinkebyはGethをサポートしPoAで動作しているテストネットワークです。2017年にEthereum Foundationが立ち上げました。ChainlinkはKovanとRinkebyしかテストネットのデプロイがないため、LINKのコントラクトが生きていそうなRinkebyにしています。※ただRinkebyのfaucetが死んでいる可能性有
スマートコントラクトのテストには brownie
を使っています。