国産仮想通貨KOTOの作業メモ
Ubuntu, CLIでkotoの基本的な使い方のメモです。 GUIは飾りなので使いません。
こちらのスレッドの内容を追いかけつつ、手を動かしてみたメモです。
koto ウォレットのインストール
基本的にこちらに書いてあるとおり。
https://github.com/koto-dev/koto/wiki/%E8%A7%A3%E8%AA%AC
$ sudo apt-get install build-essential pkg-config libc6-dev m4 g++- multilib autoconf libtool ncurses-dev unzip git python python-zmq zlib1g-dev wget bsdmainutils automake curl
$ git clone https://github.com/koto-dev/koto.git
$ cd koto
$ ./zcutil/fetch-params.sh
$ ./zcutil/build.sh --disable-rust -j$(nproc)
Windows Subsystem for Linuxを使用する場合は、build.shの実行前にパスを通しておく必要がある。
$ export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
設定ファイル作成
設定ファイルをホームディレクトリに作成する。
ユーザー名とパスワードを決めて設定する。
$ mkdir -p ~/.koto
$ echo "rpcuser=username" >>~/.koto/koto.conf
$ echo "rpcpassword=password" >>~/.koto/koto.conf
使い方
無事インストールができると、koto/src 以下に kotod, koto-cli の2つが生成される。
kotod
kotodのほうがデーモンで、使うときには立ち上げておく。
tmuxやscreen、別のターミナルなどで別途立ち上げておくと良い。
$ ./src/koto-cli kotod
この状態では、マイニングはされてない。もう少し設定をしてこの画面を立ち上げればマイニングできる。方法は後述する。
koto-cli
koto-cliはウォレットの状況を見たり、送金、取引状況確認など色々できる。kotodを立ち上げておかないと使えない。
kotodを用いたソロマイニング方法
kotodを別に立ち上げた状態で、まず新しくアドレスを発行します。
$ ./src/koto-cli getnewaddress
すると、このようなkから始まるアドレスが発行される。
k1FfeBWP9WtaUvuQKWt8DrNyRAeAgW3bnso
このアドレスは自分のウォレットで管理されるアドレスになる。
次にマイニングをするための設定をする。
以下を実行
$ echo "gen=1" >>~/.koto/koto.conf
もしくはこちらを実行
$ ./src/koto-cli setgenerate true
どちらでもよいようです。
これでマイニングのための設定は終わり。
採掘したkotoをこのアドレスに入れるようにオプションを加えて、kotodを実行する。
$ src/kotod -mineraddress=k1FfeBWP9WtaUvuQKWt8DrNyRAeAgW3bnso -genproclimit=4
kから始まるアドレスは、自分のアドレスに変更してください。
アドレスを指定しない場合、採掘に成功するたびに新しくアドレスが発行されてしまい、後で移し替える必要が出てきます。
genproclimitでは、スレッド数を指定します。お持ちのCPUに応じて変更してください。
先程の採掘していない時と比べると、少し情報が多くなっています。
Local solution rateが0.0000 Sol/sとなっていますが、正常に表示できていないだけで採掘はできているそうです。
もう少し時間を置いて、採掘に成功すると、このような画面になります。
You have mines n blocks という部分が、あなたが採掘に成功したブロック数、
Orphaned: n blocks が無効になってしまったブロック数、
Immature :n KOTO がまだ未承認のKOTO数です。
Mature: n KOTO が承認済みとなりあなたのものになったKOTOです。
ブロックチェーン通貨では、採掘に成功したあと、他のマイナーに一定数承認されるまで使えないので注意してください。
ウォレットの確認
採掘に成功したら、自分のウォレットの状況を見てみましょう。
もし採掘できていない場合、動作確認のため、Fauset(蛇口)でkotoを少し分けてもらいましょう。
https://koto-faucet.torifuku-kaiou.tokyo/koto/
にアクセス、先程入手した自分のアドレスを入力して、kotoをもらいます。
それでは、サイフの状況を確認します。
kotodの画面はそのままで、別のターミナルで以下を実行します。
$ ./src/koto-cli getwalletinfo
{
"walletversion": 60000,
"balance": 81.31085682,
"unconfirmed_balance": 0.00000000,
"immature_balance": 0.00000000,
"txcount": 7,
"keypoololdest": 1513424256,
"keypoolsize": 104,
"paytxfee": 0.00000000
}
こんな感じで、ウォレットの状況が見られます。
採掘に成功していれば、以下のコマンドで採掘したブロックが入っているアドレスを表示させることができます。
$ ./src/koto-cli listaddressgroupings
[
[
[
"k1FfeBWP9WtaUvuQKWt8DrNyRAeAgW3bnso",
81.31085682,
""
]
]
]
さらに詳しい採掘状況、取引状況を確認したいときは、以下のコマンドでこのように詳細が表示されます。
$ ./src/koto-cli listtransactions
[
{
"account": "",
"address": "k1FfeBWP9WtaUvuQKWt8DrNyRAeAgW3bnso",
"category": "receive",
"amount": 0.01000000,
"vout": 1,
"confirmations": 1400,
"blockhash": "6b263ada50eb2365c35ebc6882acbca6b9e92118e72c580c79287122cacb5d35",
"blockindex": 2,
"blocktime": 1513450914,
"txid": "2d6d88bbb453b597d7db1c53c27b4667da334734e459d1e9a1da68ce55d43c4e",
"walletconflicts": [
],
"time": 1513450893,
"timereceived": 1513450893,
"vjoinsplit": [
],
"size": 225
},
{
"account": "",
"address": "k1FfeBWP9WtaUvuQKWt8DrNyRAeAgW3bnso",
"category": "generate",
"amount": 12.49534438,
"vout": 0,
"confirmations": 1141,
"generated": true,
"blockhash": "6b7d55d5e33a90b169c0ea547dcb35043851813daad9da3c7dba950a660df913",
"blockindex": 0,
"blocktime": 1513466647,
"txid": "1bafd885ba815e4c1766feff03510a665205ed1c5554383bec0bb23d0e5882f9",
"walletconflicts": [
],
"time": 1513466647,
"timereceived": 1513466647,
"vjoinsplit": [
],
"size": 90
...
...
その他使えるkoto-cliコマンド
-
$ ./src/koto-cli help
でコマンド一覧と使い方が見られます。 -
listaddressgroupings
もってるアドレスと残高確認 -
getnewaddress
新アドレス取得 -
listtransactions
取引のリスト -
getaddressesbyaccount ""
持ってるアドレス一覧
zから始まるアドレス プライベートアドレス
kやjから始まるアドレスと、zから始まるアドレスがある。
zから始まるものは、プライベートアドレスというもので、取引内容が他の人から見えない匿名性のあるアドレス。
kから始まるアドレスを使った場合、トランザクションを追えば、k12345の人がどんな取引を今までに行ったのかが誰にでも分かる。しかし、匿名アドレスを使うとそれができなくなる。
zcashの取引で説明すると、(参考)
この取引では、input側は見えるが、output側は見えない。これは受け手が匿名アドレスを使ったためである。
逆にこちらの取引では、inputが見えない。
一度個人とアドレスが紐付いてしまうと、すべての取引履歴が追えてしまうのはプライバシー的によくないことがある。これを回避するために作られたのが匿名仮想通貨。
プライベートアカウントへの移行
プライベートアドレスを使うためには、アドレスを発行して残高を移す必要があるみたい。
-
./src/koto-cli z_getnewaddress
でプライベートアドレス取得 -
./src/koto-cli z_shieldcoinbase "*" [z_getnewaddressで作成したアドレス]
で採掘したkotoをプライベートに移す -
./src/koto-cli z_gettotalbalance
で残高確認
やってみる。
$ ./src/koto-cli z_getnewaddress
zkQhUbGP9Fh1xJwwme4Ms2y1ZpBhNdEkhKiYNGdtBA7sG7Anwg1xBLLXdoKUXcPAwWCuMTWAt3nbm8EnuGU9K2JSVk3V1X5
発行できたみたい。
$ ./src/koto-cli z_shieldcoinbase "*" zkQhUbGP9Fh1xJwwme4Ms2y1ZpBhNdEkhKiYNGdtBA7sG7Anwg1xBLLXdoKUXcPAwWCuMTWAt3nbm8EnuGU9K2JSVk3V1X5
{
"remainingUTXOs": 0,
"remainingValue": 0.00000000,
"shieldingUTXOs": 6,
"shieldingValue": 81.30085682,
"opid": "opid-879048b1-7519-4651-a7cb-2c4fafc7acc9"
}
プライベートに移動されたみたい。
元のアドレスの残高を確認してみる。
$ ./src/koto-cli listaddressgroupings
[
[
[
"k1FfeBWP9WtaUvuQKWt8DrNyRAeAgW3bnso",
0.01000000,
""
]
]
]
Faucetで貰った0.01を除いて、自分で採掘した分のkotoはなくなってた。
プライベートの残高を確認してみる
$ ./src/koto-cli z_gettotalbalance
{
"transparent": "0.01",
"private": "81.30075682",
"total": "81.31075682"
}
移行できてるみたい。取引の詳細は、z_getoperationresultで見られる。
$ ./src/koto-cli z_getoperationresult
[
{
"id": "opid-879048b1-7519-4651-a7cb-2c4fafc7acc9",
"status": "success",
"creation_time": 1513538543,
"result": {
"txid": "31a8ba32cd7fcf8f35611415aafec6339f3a7ce3791d0ca2913a24620d1b2cb8"
},
"execution_secs": 45.451398521,
"method": "z_shieldcoinbase",
"params": {
"fromaddress": "*",
"toaddress": "zkQhUbGP9Fh1xJwwme4Ms2y1ZpBhNdEkhKiYNGdtBA7sG7Anwg1xBLLXdoKUXcPAwWCuMTWAt3nbm8EnuGU9K2JSVk3V1X5",
"fee": 0.00010000
}
}
]
通常アドレス⇔プライベートアドレスの送受信
W.I.P
Author And Source
この問題について(国産仮想通貨KOTOの作業メモ), 我々は、より多くの情報をここで見つけました https://qiita.com/bohemian916/items/75abd51930b5b5f0d48e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .