빠른 시간 내에 블록체인 마스터하기 2부 - PlatoBlockchain 데이터 인텔리전스 구현. 수직 검색. 일체 포함.

블록체인을 빠르게 마스터하기 2부 — 구현

푸르바얀디

이 기사 시리즈에서 우리는 5분 이내에 Golang의 간단한 블록체인 구현을 기반으로 하는 단순화된 암호화폐를 구축할 것입니다. 이 프로젝트를 만들기 위해서는 먼저 golang을 설치해야 합니다. 텍스트 편집기의 경우 무엇이든 사용할 수 있습니다. 여기서는 Visual Studio 코드를 사용합니다.

빠른 시간 내에 블록체인 마스터하기 2부 - PlatoBlockchain 데이터 인텔리전스 구현. 수직 검색. 일체 포함.
출처 : 비트학위

설치하셨나요? 좋아, 해보자!

프로젝트를 생성했다면 파일을 생성하세요 main.go . oke는 코드를 작성합니다. 먼저 main.go에서 시작하겠습니다. “블록체인”의 블록 구조 부분부터 시작하겠습니다. 블록체인에서는 귀중한 정보를 저장하는 것을 차단합니다. 예를 들어, 비트코인 ​​블록은 암호화폐의 핵심인 거래를 저장합니다. 이 외에도 블록에는 버전, 현재 타임스탬프, 이전 블록의 해시와 같은 일부 기술 정보가 포함되어 있습니다. 이 기사에서는 블록체인이나 비트코인 ​​사양에 설명된 대로 블록을 구현하지 않고 대신 중요한 정보만 포함하는 단순화된 버전을 사용합니다. 그 모습은 다음과 같습니다. 여기에 구조체 블록이 있습니다.

유형 블록 구조체 {

Timestamp 현재 타임스탬프(블록이 생성된 시점)입니다. transactions 블록에 포함된 실제 가치 있는 정보이며, prevhas 이전 블록의 해시를 저장하고, Hash 블록의 해시입니다. 비트코인 사양에서 Timestamp, prevhashHash 별도의 데이터 구조를 형성하는 블록 헤더와 트랜잭션(transaction 우리의 경우)는 별도의 데이터 구조입니다. 그래서 우리는 단순화를 위해 여기에 그것들을 혼합하고 있습니다.

그러면 해시를 어떻게 계산합니까? 해시가 계산되는 방식은 블록체인의 매우 중요한 기능이며, 이 기능이 블록체인을 안전하게 만듭니다. 문제는 해시를 계산하는 것이 계산적으로 어려운 작업이라는 것입니다. 빠른 컴퓨터에서도 시간이 걸립니다(그래서 사람들은 비트코인을 채굴하기 위해 강력한 GPU를 구입합니다). 이는 의도적인 아키텍처 설계로, 새 블록을 추가하기 어렵게 만들어 추가 후 수정을 방지합니다. 우리는 다음 글에서 이 메커니즘을 논의하고 구현할 것입니다.

지금은 블록 필드를 가져와 연결하고 연결된 조합에 대해 SHA-256 해시를 계산하겠습니다. 에서 해보자 Newhash 방법:

func NewHash(time time.Time, transaction []string, prevhash []byte) []byte {

다음으로 Golang 규칙에 따라 블록 생성을 단순화하고 완료하는 함수를 구현합니다.

func Blocks(트랜잭션 []string, prevhash []byte) *Block {

우리는 계속해서 인쇄 기능을 만듭니다. 인쇄 기능은 트랜잭션을 수행하는 각 블록의 내용을 인쇄하는 데 유용합니다. 코드는 다음과 같습니다.

func 인쇄(블록 *블록) {

그리고 인쇄 트랜잭션을 위한 함수 트랜잭션:

func 트랜잭션(블록 *블록) {

필요한 모든 기능이 완료된 후 이를 주 기능에서 사용합니다.

함수 메인() {

좋아요, 우리가 작성한 코드는 모두 끝났습니다. 터미널에 go run main.go를 입력하여 실행해 보겠습니다. 출력 :

결론

우리는 매우 간단한 블록체인 프로토타입을 구축했습니다. 이는 단지 블록 배열일 뿐이며, 각 블록은 이전 블록과 연결되어 있습니다. 하지만 실제 블록체인은 훨씬 더 복잡합니다. 블록체인에서는 새 블록을 추가하는 것이 쉽고 빠르지만, 실제 블록체인에서는 새 블록을 추가하는 데 몇 가지 작업이 필요합니다. 즉, 블록 추가 권한을 얻기 전에 몇 가지 무거운 계산을 수행해야 합니다(이 메커니즘을 작업 증명이라고 함). 또한 블록체인은 단일 의사결정자가 없는 분산 데이터베이스입니다. 따라서 새로운 블록은 네트워크의 다른 참가자에 의해 확인되고 승인되어야 합니다(이 메커니즘을 합의라고 함). 그리고 우리 블록체인에는 아직 거래가 없습니다!

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

타임 스탬프 :

더보기 중급