【초보자용】Blockchain을 Golang로 구현한다
3128 단어 5BlockchaingRPC
【초보자용】Blockchain을 Golang로 구현*한다
가정 레벨
달성 목표
타임 스케줄
시간
내용
13:30 -
개장·접수 개시
14:00 - 14:05
오프닝
14:05 - 14:30
자기소개 전원
14:30-16:00
Go에서 블록체인 구현하기
16:00 - 16:30
성과 발표 (프리 토크)
16:30 - 16:40
폐쇄 (설문조사)
자료
WEBbench 사전 자료 1
『사전 자료 2』
「블록 체인 온라인 학습 사이트 만들었으므로 소개」
메모 메모
사전 1=Go 설치=
우선, Go란,,,
Google이 개발한 간단한 언어(프로그래머의 생산성을 높이기 위해 제작됨)
특징으로서 표현력 풍부하게 코드를 간결하게 기술하는 것이 가능하고, 경량인 병렬 처리로 멀티 코어나 네트워크화된 복잡한 시스템을 구축하기에 향하고 있는 언어.
■ 절차
Homebrew를 install하고 있기 때문에, 이하 실행.
terminal.view
$ brew install go
〜インストールだらだら〜
$ go version
go version go1.12.7 darwin/amd64
install 완료. gRPC 관계상 go 1.6 이상을 install하는 것. (최신판을 install하면 된다.)
사전 2=gRPC 설치=
첫째, gRPC는
Google에서 개발한 RPC(Remote Procedure Call)를 구현하기 위한 프로토콜 중 하나입니다.
특징으로 Protocol Buffers를 사용하여 데이터를 직렬화하여 고속 통신을 실현할 수 있다.
■ 절차
다음 실행
terminal.view
$ go get -u google.golang.org/grpc
Go 용 protoc을 install & PATH를 통과시킵니다.
terminal.view
$ go get -u github.com/golang/protobuf/protoc-gen-go
$ export PATH=$PATH:$GOPATH/bin
서버를 시작하기 위해, 먼저 blockchain.prot를 ~~/go/prot하에 작성.
blackchain.prot
syntax = "proto3";
package proto;
// The blockchain service definition
service Blockchain {
// Sends a AddBlockRequest Return AddBlockResponse
rpc AddBlock(AddBlockRequest) returns (AddBlockResponse) {}
rpc GetBlockChain(GetBlockchainRequest) returns (GetBlockchainResponse) {}
}
// The request AddBlockRequest containing the data
message AddBlockRequest {
string data = 1;
}
// The request AddBlockResponse containing the hash
message AddBlockResponse {
string hash = 1;
}
message GetBlockchainRequest {}
message Block {
string hash = 1;
string prevBlockHash = 2;
string data = 3;
}
message GetBlockchainResponse {
repeated Block blocks = 1;
}
proto 명령이 설치되지 않았기 때문에,
terminal.view
$ brew install protobuf
blockchain.prot 컴파일
terminal.view
protoc --go_out=plugins=grpc:. prot/blockchain.prot
Reference
이 문제에 관하여(【초보자용】Blockchain을 Golang로 구현한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nagatakoki/items/3e6ecee003ab54e20001텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)