あっという間にブロックチェーンをマスターするパート2— PlatoBlockchainDataIntelligenceの実装。 垂直検索。 愛。

すぐにブロックチェーンをマスターするパート2—実装

プルバリャンディ

この一連の記事では、Golang での単純なブロックチェーン実装に基づく単純化された暗号通貨を 5 分以内に構築します。このプロジェクトを作成するには、まず golang をインストールする必要があります。テキスト エディターには何でも使用できますが、ここでは Visual Studio コードを使用します。

あっという間にブロックチェーンをマスターするパート2— PlatoBlockchainDataIntelligenceの実装。 垂直検索。 愛。
ソース: ビットディグリー

インストールしましたか?よし、やってみよう!

プロジェクトを作成した場合はファイルを作成します main.go 。それではコーディングしましょう。まず main.go から始めます。「blockchain」の struct Block 部分から始めましょう。ブロックチェーンでは、貴重な情報を保存するブロックです。たとえば、ビットコイン ブロックには、あらゆる暗号通貨の本質であるトランザクションが保存されます。これに加えて、ブロックには、バージョン、現在のタイムスタンプ、前のブロックのハッシュなどの技術情報が含まれています。この記事では、ブロックチェーンまたはビットコインの仕様に記載されているとおりにブロックを実装するのではなく、重要な情報のみを含む簡易バージョンを使用します。外観は次のとおりです。ここに構造体ブロックがあります。

type ブロック構造体 {

Timestamp 現在のタイムスタンプ (ブロックが作成されたとき)、 transactions ブロックに含まれる実際の貴重な情報です。 prevhas 前のブロックのハッシュを保存し、 Hash ブロックのハッシュです。ビットコインの仕様では Timestamp, prevhash, Hash は、別のデータ構造を形成するブロック ヘッダーとトランザクション (transaction 私たちの場合) は別のデータ構造です。したがって、簡単にするためにここではそれらを混合しています。

では、ハッシュはどうやって計算するのでしょうか?ハッシュの計算方法はブロックチェーンの非常に重要な機能であり、この機能によってブロックチェーンが安全になります。問題は、ハッシュの計算は計算的に困難な操作であり、高速なコンピューターであっても時間がかかるということです (だからこそ、人々はビットコインをマイニングするために強力な GPU を購入するのです)。これは意図的なアーキテクチャ設計であり、新しいブロックの追加を困難にし、追加後のブロックの変更を防ぎます。このメカニズムについては、今後の記事で説明して実装します。

現時点では、ブロック フィールドを取得して連結し、連結された組み合わせに対して SHA-256 ハッシュを計算するだけです。これをやってみましょう Newhash 方法:

func NewHash(time time.Time, トランザクション []string, prevhash []byte) []byte {

次に、Golang の規則に従って、ブロックの作成を簡素化する関数を実装して終了します。

func Blocks(transactions []string, prevhash []byte) *Block {

引き続き print 関数を作成します。 print 関数は、トランザクションを実行する各ブロックの内容を印刷するのに役立ちます。コードは次のとおりです:

func Print(block *Block) {

そして印刷トランザクションの関数トランザクション:

func トランザクション(ブロック *ブロック) {

必要な関数がすべて完了したら、それを main 関数で使用します。

func main(){

これでコードはすべて書き終わりました。ターミナルで go run main.go と入力して実行してみましょう。出力:

まとめ

私たちは非常に単純なブロックチェーン プロトタイプを構築しました。これは単なるブロックの配列であり、各ブロックは前のブロックとの接続を持っています。ただし、実際のブロックチェーンはさらに複雑です。私たちのブロックチェーンでは、新しいブロックの追加は簡単かつ迅速ですが、実際のブロックチェーンでは、新しいブロックの追加にはいくつかの作業が必要です。ブロックを追加する許可を得る前に、いくつかの重い計算を実行する必要があります (このメカニズムは Proof-of-Work と呼ばれます)。また、ブロックチェーンは単一の意思決定者が存在しない分散型データベースです。したがって、新しいブロックはネットワークの他の参加者によって確認および承認される必要があります (このメカニズムはコンセンサスと呼ばれます)。そして、私たちのブロックチェーンにはまだトランザクションがありません。

Source: https://medium.com/@purbaryandi/mastering-blockchain-in-no-time-part-2-implementation-433dc7967fe8?source=rss——cryptocurrency-5

タイムスタンプ:

より多くの M

米ドルの死

ソースノード: 1042065
タイムスタンプ: 2021 年 8 月 24 日