반응형
자바스크립트로 블록체인 구현 강좌6 - 나만의 비트코인 발행하기
저번 시간에 포스팅한 sha256 암호화 값 리턴 함수가 어떻게 사용되는지 보겠다. 일단 test.js 부분을 다 지운다.
그리고 아래 코드를 넣어준다. bitcoin 객체의 hashBlock 함수는 3개의 인자값을 받는다. 1. 이전 블락의 hash 2.현재 블록의 거래 데이터 3.nonce 값
//blockchain.js 모듈을 이곳에서 가져다 쓰겠다.
const Blockchain = require('./blockchain');
//위에서 가져온 모듈의 객체를 만든다.
const bitcoin = new Blockchain();
const previousBlockHash = "abcdedferefa"
const currentBlockData = [
{
amount: 10,
sender: 'PACKadffaaf',
recipient: 'HONGllalflks'
},
{
amount: 20,
sender: 'PACKadffaaf',
recipient: 'HONGllalflks'
},
{
amount: 30,
sender: 'PACKadffaaf',
recipient: 'HONGllalflks'
}
]
const nonce = 100;
console.log(bitcoin.hashBlock(previousBlockHash,currentBlockData,nonce))
//859096659fb3a8b0f053eb068c4b11ee24ba38fecaf6ea629ff301d14feeae84
blockchain.js에서 만든 hash 함수를 테스트 해보았다. console.log 를 찍어보면 해쉬 함수가 리턴 한 값을 볼 수가 있다. 여기서.
sender 보내는 사람이 PACK... 인데 여기서 P를 B로만 바꿔 보겠다. 그리고 실행해보자.
//blockchain.js 모듈을 이곳에서 가져다 쓰겠다.
const Blockchain = require('./blockchain');
//위에서 가져온 모듈의 객체를 만든다.
const bitcoin = new Blockchain();
const previousBlockHash = "abcdedferefa"
const currentBlockData = [
{
amount: 10,
sender: 'BACKadffaaf',
recipient: 'HONGllalflks'
},
{
amount: 20,
sender: 'PACKadffaaf',
recipient: 'HONGllalflks'
},
{
amount: 30,
sender: 'PACKadffaaf',
recipient: 'HONGllalflks'
}
]
const nonce = 100;
console.log(bitcoin.hashBlock(previousBlockHash,currentBlockData,nonce))
//ec90a89a8364d8762ec3d365f2c8c91b1547af493e068009c119356b41f9699b
문자가 하나만 달라졌는데도 해쉬 값은 완전히..전혀 다른 해쉬값이 리턴되는 것을 볼 수 있다.
반응형
'매일코딩 > 블록체인-자바스크립트' 카테고리의 다른 글
자바스크립트로 블록체인 구현 강좌 8 - 나만의 비트코인 발행하기 (0) | 2018.05.29 |
---|---|
자바스크립트로 블록체인 구현 강좌7 - 나만의 비트코인 발행하기(소스코드 포함) (3) | 2018.05.29 |
자바스크립트로 블록체인 구현 강좌5 - 나만의 비트코인 발행하기 (0) | 2018.05.28 |
자바스크립트로 블록체인 구현 강좌4 - 나만의 비트코인 발행하기 (2) | 2018.05.26 |
자바스크립트로 블록체인 구현 강좌3 - 나만의 비트코인 발행하기 (0) | 2018.05.26 |
댓글