3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

NEOで自分の通貨を作ってみた

Last updated at Posted at 2018-07-02

はじめに

NEOを使うと簡単にマイコインが作れた!!ので、
自分がちょっとハマってしまったポイントと共に、通貨の作成方法をまとめます。

NEOとは

NEOは、分散アプリケーションのスケーラブルなネットワークを構築するために設計されたブロックチェーンプラットフォームと暗号化方式です。

NEO is a blockchain platform and cryptocurrency designed to build a scalable network of decentralized applications.
引用:
https://en.wikipedia.org/wiki/NEO_(cryptocurrency)

環境作成

参考: Mac(マック)で行うNEO(ネオ)の プライベートネットの環境構築をわかりやすく解説

事前準備

リンク先にあるように、

  • Homebrew
  • python3.6以上
  • git
  • Docker
    のインストールをしましょう。

neo-pythonのインストールと起動

$ docker pull cityofzion/neo-privatenet

# private netを起動
$ docker run --rm -d --name neo-privatenet -p 20333-20336:20333-20336/tcp -p 30333-30336:30333-30336/tcp cityofzion/neo-privatenet

# leveldbのパッケージをインストール
$ brew install leveldb

# neo-pythonをインストール
$ pip install neo-python

# python3.6を使って仮想環境を構築
$ python3.6 -m venv venv
$ . venv/bin/activate

# neo-pythonを起動
$ np-prompt -p -v

# 自分は上のコマンドでエラーが出たので、下記コマンドでpycryptodomeを入れ直しました
$ pip3 uninstall pycrypto
$ pip3 uninstall pycryptodome
$ pip3 install pycryptodome==3.6.1

# neo-pythonを起動
$ np-prompt -p -v
Privatenet useragent '/NEO:2.7.4/', nonce: 1173470966
[I 180702 23:49:24 LevelDBBlockchain:115] Created Blockchain DB at /Users/username/.neopython/Chains/privnet
[I 180702 23:49:24 NotificationDB:73] Created Notification DB At /Users/username/.neopython/Chains/privnet_notif
NEO cli. Type 'help' to get started

neo> exit

コインを作成する

まずはリポジトリを取得します

$ git clone https://github.com/kentarohorie/simple-neo-token-sample

simple-neo-token-sample/yourcoin/token.pyの TOKEN_NAMETOKEN_SYMBOL を好きな名前に変えましょう!!

TOKEN_NAME = 'yourcoin'

TOKEN_SYMBOL = 'yourcoin'

walletの更新

$ cd simple-neo-token-sample/wallets/
$ rm neo-privnet.wallet
$ wget https://s3.amazonaws.com/neo-experiments/neo-privnet.wallet

walletを開きます

$ cd ../
$ ls
README.md			wallets				yourcoin-smartcontract.py
__init__.py			yourcoin

$ np-prompt -p -v

neo> open wallet wallets/neo-privnet.wallet
#パスワードはcozです

#walletの中身を確認
neo> wallet

.pyファイルからavmファイルにコンパイルし、コントラクトをプライベートネットワークにデプロイします

neo> build ./yourcoin-smartcontract.py test 0710 05 True False name []
neo> import contract yourcoin-smartcontract.avm 0710 05 True False

#返答があるまで待つ

返答があったら、"script_hash"の値を控えておいてください

#<script_hash>の値に置き換えて実行してください
neo> testinvoke <script_hash> deploy []
neo> import token <script_hash>

こんな感じの返答があったら完了です!

[I 180703 00:30:05 EventHub:71] [test_mode][SmartContract.Execution.Success] [14657f895103adfa9d204a89606a70f6f6d0b73a] [b'yourcoin', b'yourcoin', 8]
added token {
    "name": "yourcoin",
    "symbol": "yourcoin",
    "decimals": 8,
    "script_hash": "script_hash",
    "contract_address": "contract_address"
}
3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?