본문 바로가기

Blockchain4

스위프트로 배우는 블록체인 - 채굴구현 스위프트로 배우는 블록체인 - 채굴구현 먼저 이전전 포스팅에서 다루었던 BlockChainSwift.playground를 vapor프로젝트에 App -> Model 안에 model.swift 라는 이름으로 새로 파일을 만들어서 복붙해준다. //// models.swift// App//// Created by MacBookPro on 2018. 5. 30..//import Vaporimport Foundationimport Cocoa //거래가 발생할때 거래 타입 선택 가능enum TransactionType : String, Codable{ case domestic case international} // 스마트 컨트랙드 프로토콜 함수 - 지원,신청하는 계약임protocol SmartContract{ f.. 2018. 6. 2.
자바스크립트로 블록체인 구현 강좌 10 - 나만의 비트코인 발행하기(소스코드) 자바스크립트로 블록체인 구현 강좌 10 - 나만의 비트코인 발행하기(소스코드)이번 포스팅에서는 블록을 채굴할때, 즉 컴퓨팅 파워로 마이닝 할때 실행되는 app.get(/mine) 함수 부분을 작성해보도록 한다. 순서1.먼저 마지막 블록을 가져온다.2.마지막 블럭의 타입은 객체 이기 때문에 key:value 형태다. 'hash' 키 값으로 해당 value(이전블럭해쉬)를 가져온다.3.현재 블럭데이터는 이전의 발생한 거래내역을 저장해야 하기 때문에 bitcoin객체의 pendingTransaction 배열에 담긴 값을 가져와서 넣어주고, index는 마지막 블럭 index + 1을 해준다.4. 이제 nonce, blockHash를 구할 수 있는 값들을 다 구했다. 5. 그리고 위의 값들을 이용해서 creat.. 2018. 5. 30.
자바스크립트로 블록체인 구현 강좌6 - 나만의 비트코인 발행하기 자바스크립트로 블록체인 구현 강좌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 .. 2018. 5. 28.
자바스크립트로 블록체인 구현 강좌4 - 나만의 비트코인 발행하기 자바스크립트로 블록체인 구현 강좌4 - 나만의 비트코인 발행하기 지난 포스팅에 이어서 이번시간에는 저번 포스팅에서 작성한 마지막 블락 가져오기 함수와 새로운 트랜젝션 생성하기 함수를 test.js 에서 한번 찍어 보겠다. 그리고 트랜잭션과 새로운 블락이 생겼을 때 , 그리고 새로운 블록이 생긴 이후 트랜잭션 데이터는 어떻게 변하는지 이 관계를 살펴보도록 하자. test.js로 이동해서 새로운 블락을 생성하는 함수와 새로운 트랜젝션을 생성하는 함수를 하나씩 작성한다. //blockchain.js 모듈을 이곳에서 가져다 쓰겠다.const Blockchain = require('./blockchain') //위에서 가져온 모듈의 객체를 만든다.const bitcoin = new Blockchain(); //새.. 2018. 5. 26.