Ethereum

自分用のコイン(トークン)にブラックリストを追加する(ethereum9)

前回はこちら。自分用のコイン(トークン)を作成して、別のユーザーに渡す

• ブラックリストに記載されたアドレスは入出金不可とする
• オーナーのみブラックリストへの追加・削除を可能とする
• オーナーはアドレスで識別することとし、コントラクトの作成時のアドレスを設定する

今回使うアドレスは以下の2つです。

ユーザーA;gethを起動時に指定したユーザー

"0x127a0614d4f606460f3cb7e05f1b9f79fdf9191b"

ユーザーB

"0x32a39ca8fd074a9c1e49b77b6613ca5287592305"

コンストラクタにこの値を入れて、「create」を押下する

10000, "OreOreCoin", "oc", 0

ユーザーAのbalanceOfを見て、10,000円あることを確認する

スクリーンショット 2018-01-12 17.10.18.png

ユーザーBに2000を送金する

スクリーンショット 2018-01-12![スクリーンショット 2018-01-12 17.18.37.png](https://qiita-image-store.s3.amazonaws.com/0/39073/d9ef8199-a7d1-5755-f74a-b8434c2a8bec.png "スクリーンショット 2018-01-12 17.18.37.png")<br>
 17.17.43.png

ユーザーBのbalanceOfを確認する

スクリーンショット 2018-01-12 17.18.37.png

blacklistingメソットを使って、ユーザーBをブラックリストに追加します。
スクリーンショット 2018-01-12 19.43.19.png

blacklistプロパティにユーザーBのアドレスを入力して1という値が入ってることを確認します。

スクリーンショット 2018-01-12 19.41.41.png

その後、再度、transferを実行してもユーザーBのお金は増えません。

次に、ユーザーBからAに送金をします。
AccountをユーザーBに変更します。
スクリーンショット 2018-01-12 19.57.51.png

transferにユーザーAのアドレスを入力して送金しても、balanceが変わらないことを確認します。

次に、AccountをユーザーAに戻します。

スクリーンショット 2018-01-12 20.23.30.png

次にユーザーBをブラックリストの対象から外します。-1が返ってきています。

スクリーンショット 2018-01-12 20.25.52.png

次にAccountのユーザーをBに戻して、ユーザーAに送金します。
balanceOfで無事に資金を送金できたことを確認して下さい