GoLang は、ブロックチェーン アプリケーションの開発によく選ばれています。このガイドでは、開発から展開までの完全な手順を説明します。 開発: GoLang 環境のセットアップ、アプリケーションの作成、ライブラリのインポート、ブロック構造の定義、ジェネシス ブロックの作成。デプロイメント: Docker 環境をセットアップし、コンテナーを作成し、スマート コントラクトを作成し、コントラクトをデプロイし、スマート コントラクトと対話します。
はじめに
GoLang は人気のある開発ツールです。効率性、同時実行性、セキュリティの点でブロックチェーン アプリケーションに最適です。このガイドでは、GoLang ブロックチェーン アプリケーションの開発とデプロイを最初から最後まで説明します。
開発
1. GoLang 開発環境のセットアップ
GoLand IDE と Go コンパイラーをインストールします。
2. Go アプリケーションの作成
次のコマンドを使用して Go プロジェクトを作成します:
go mod init my-blockchain-app
3. 必要なライブラリをインポートします
次のテキストを main.go
ファイルに追加します:
import ( "crypto/sha256" "encoding/hex" "fmt" )
4. ブロック構造を定義します
#ブロックはブロックチェーンの基本単位です。main.go で
Block 構造体を定義します:
type Block struct { Hash string Data string PrevHash string Nonce int }
5. ジェネシス ブロックを作成します
Creation ブロックは次のとおりです。最初のブロックには以前のハッシュがありません。main.go で作成します:
genesisBlock := Block{ Hash: "0", Data: "Genesis block", PrevHash: "", Nonce: 0, }
Deployment
1. Docker 環境をセットアップします
Docker をインストールし、Hyperledger Fabric イメージをプルします。2. Docker コンテナの作成
次のコマンドを実行して、Hyperledger Fabric コンテナを作成します:docker-compose up -d
3. スマート コンテナを作成します。 contract
chaincode ディレクトリにコントラクト コードを作成します。たとえば、これは単純な「挨拶」スマート コントラクトです:
package main import ( "github.com/hyperledger/fabric/core/chaincode/shim" ) // HelloChaincode 表示链码 type HelloChaincode struct { } // Init 初始化链码 func (t *HelloChaincode) Init(stub shim.ChaincodeStubInterface) error { return nil } // Invoke 调用链码 func (t *HelloChaincode) Invoke(stub shim.ChaincodeStubInterface) error { funcName, args := stub.GetFunctionAndParameters() switch funcName { case "sayHi": return t.sayHi(stub, args) default: return fmt.Errorf("Invalid function name: %s", funcName) } } // sayHi 发送问候 func (t *HelloChaincode) sayHi(stub shim.ChaincodeStubInterface, args []string) error { name := args[0] result := fmt.Sprintf("Hello, %s!", name) return stub.PutState("message", []byte(result)) } // main 函数 func main() { err := shim.Start(new(HelloChaincode)) if err != nil { fmt.Printf("Error starting chaincode: %s", err) } }
4. スマート コントラクトをデプロイします
ファブリック CLI を使用してコントラクトをデプロイします:peer chaincode install -p github.com/chaincode/my-hello-chaincode -n hello-chaincode -v 1.0 peer chaincode instantiate -p github.com/chaincode/my-hello-chaincode -n hello-chaincode -v 1.0
5. スマート コントラクトとの対話
ファブリック CLI を使用したスマート コントラクトとの対話:peer chaincode invoke -n hello-chaincode -c '{"function":"sayHi", "args":["Alice"]}'
おめでとうございます! GoLang ブロックチェーン アプリケーションの開発とデプロイに成功しました。
以上がGoLang とブロックチェーン: 開発からデプロイまでの完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。