ブロック

全ての暗号通貨の中心となる要素は、ブロック同士がリンクしたブロックチェーンと呼ばれる公開台帳です。

チェーン内のブロックは順序付けられており、完了したトランザクション履歴はブロックチェーンに保持されます。後に続くブロックチェーン内のブロックは、1づつ高さを増やしていきます。

ブロックはデータベースに永続的なメディアとして保存されます。NEM はチェーン内の最初のブロックであるネメシスブロックを呼び出します。

NEM ブロックは 15 秒毎に完了し、日々の使用に対して十分にトランザクションを承認します。

ブロック生成

ブロックは アカウント によって作成されます。新しいブロックの生成プロセスは ハーベスティング と呼ばれます。ハーベスティングアカウント - ハーベスターと呼ばれます - はブロック内のトランザクションに応じた 手数料インフレーション を受け取ります。これによりハーベスターにはできるだけ多くのトランザクションをブロックに追加するインセンティブが与えられます。

ガイド

スキーマ

注釈

設定パラメータは 編集可能 です。公開ネットワークでは異なる可能性があります。

ブロックヘッダ

ブロックヘッダのシリアル化

インライン

プロパティ タイプ 説明
height uint64 ブロックチェーンの高さ。各ブロックは一意な高さを持っています。後ろに続くブロックとは 1 だけ高さが異なります。
timestamp Timestamp ネメシスブロックが生成されてから経過した秒です。
difficulty uint64 平均難易度を最後の 60 ブロックの平均ブロック作成時間で割った値。新しい難易度が最後のブロックの難易度より5%以上大きいまたは小さい場合、変動は5%に制限されます。さらに難易度は一定の範囲内に保たれます。それが 1015 より大きいまたは 1013より小さい場合、新しい難易度はこの境界に固定されます。
feeMultiplier uint32 手数料乗数はブロックに含まれるトランザクションに適用されます。
previousBlockHash Hash256 前ブロックのハッシュ
blockTransactionHash Hash256 ブロックに含まれたトランザクションは merkle tree としてハッシュ化されます。この木のルートはそれらを要約しています。
blockReceiptsHash Hash256 レシート の集合はハッシュ化されて merkle tree に入り ブロック にリンクされます。ブロックヘッダはルートハッシュを格納します。
stateHash Hash256 各ブロックごとにブロックチェーンの状態が RocksDB に patricia tree の形で保存されています。ツリーのルートは与えられたブロックのブロックチェーンの状態を要約しています。
beneficiary Key ハーベスタによって指定されたオプション受益者の公開鍵。

バージョン: 高位バイトはネットワーク識別子を示します。

Id 説明
0x68 (MAIN_NET) パブリックメインネットワーク
0x98 (TEST_NET) パブリックテストネットワーク
0x60 (MIJIN) プライベートネットワーク
0x90 (MIJIN_TEST) プライベートテストネットワーク

タイプ: ブロックタイプ

Id 説明
0x8043 ネメシスブロック
0x8143 ブロック

VerifiableEntity

アカウントによって署名されるべきエンティティのシリアル化。

プロパティ タイプ 説明
signature Signature 署名者により生成されたエンティティの署名。

EntityBody

エンティティのシリアル化。エンティティはブロック、 トランザクション または レシート となります。

プロパティ タイプ 説明
signer Key エンティティの署名者の公開鍵
version uint16 構造体のバージョン
type uint16 エンティティタイプ。トランザクションタイプについては トランザクションタイプ を参照してください。