All Posts

自作仮想通貨入門(8) - アドレスのプレフィックス変更

※この章では src/chainparams.cpp を変更します。 仮想通貨の花形的存在、ウォレットアドレスについての説明とソースコードの変更をしていきます。 プレフィックスの仕組みについて Litecoinではアドレスの1文字目に必ず"L"が入ります。このようにアドレスの1文字目に何らかのプレフィックスがつく仕様は、bitcoinの実装に由来するものです。 bitcoinでは各種管理情報(ウォレットの秘密鍵や公開鍵など)

自作仮想通貨入門(7) - コンセンサスの設定

※この章では src/chainparams.cpp を変更します。 ジェネシスブロックに続いて、今回はコンセンサスも決めていきます。 実はここはデフォルトのままでも問題ないのですが、一応軽く説明します。 コンセンサスについて chainparams.cpp には Mainnet, Testnet, Regtest それぞれでconsensusというコンセンサスに関わる変数が存在します。 コンセンサスには色々な設定項目がありますが、この章では実際の仮想通貨の運営で重要な設定項目のみ説明をします。 ※コンセンサスには非常に沢山

自作仮想通貨入門(6) - ジェネシスブロックの作成と設定

※この章では src/chainparams.cpp を変更します。 仮想通貨はブロックチェーンの原理を基にして運用されています。 つまり、ブロックチェーンを利用するためにはブロックチェーンの一番初めに位置するブロック、 すなわちジェネシス(起源)ブロックを作成する必要があります。 ジェネシスブロック(genesis)の構造 ジェネシスブロックは以下の構造になっています。 (括弧内はchainparams.cppでの変数名をあらわしています) ブロッ

自作仮想通貨入門(5) - 単純な文字列置換

この章からいよいよLitecoinのソースコードに修正を加えていきます。 この章ではソースコードおよび関連ドキュメントに含まれるLitecoin関連の文字列を自作仮想通貨の通貨名に変更します。 この時点でLitecoinのどの名称を自分の仮想通貨の名称に変えるかを決めておきましょう。 また、待ち受けるサーバのポート番号についてもこの章で変更するので、ポート番号についても決めていきます。 ノード待受ポート番

自作仮想通貨入門(4) - テンプレートファイルのコピー

チェックポイントなどの確認処理を全て消したテンプレートファイルをコピーし新しい仮想通貨に合わせて色々な設定をしていきます。 chainparams.cpp / chainparams.h の置き換え BitcoinやLitecoinなど既に流通済みの仮想通貨は、その仮想通貨が流通済みの仮想通貨の仕様と合致しているかを確認するため、様々なチェックを行います。 例えばジェネシスブロックのハッシュがこの値と一致しているかだとか、その通貨の1000番目のブロックがこの

自作仮想通貨入門(3) - Litecoinを試してみよう

自作仮想通貨を作る前に、もととなるLitecoinでマイニングや送金を試してみます。 既にコマンドラインでマイニングや送金を行ったことがあるかたは、読み飛ばしてもかまいません。 なお、前の項目でLitecoinをコンパイルしましたが、Litecoinはテスト用に起動するだけなので、 システムへのインストール(make install)は行いません。 注意事項 このページにはアドレス・トランザクション・ブロック