본문 바로가기

ios 뽀개기/swift-blockchain5

스위프트로 배우는 블록체인 - 탈중앙화 구현 스위프트로 배우는 블록체인 - 탈중앙화 구현 노드모듈생성지금까지는 하나의 네트워크에서 블록체인이 어떻게 작동하는지 알아보았습니다. 지금부터는 여러개의 노드를 만들어서 탈중앙화 개념을 구현해 보도록 하겠습니다. model.swift에 새로운 노드를 생성할 클래스를 아래와 같이 작성해 줍니다.//새로운 노드 생성 클래스class BlockchainNode : Codable { var address : String init(address : String) { self.address = address }} 아래에 이이서 class Blockchain 부분에 아래에 위에서 만든 노드 데이터를 컨트롤할 변수와 추가할 함수를 만들어 준다.//체인 구조체class Blockchain : Codable { //블록이 배.. 2018. 6. 2.
스위프트로 배우는 블록체인 - 채굴구현 스위프트로 배우는 블록체인 - 채굴구현 먼저 이전전 포스팅에서 다루었던 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.
스위프트로 배우는 블록체인 - vapor프레임워크로 서버 만들기 스위프트로 배우는 블록체인 - vapor프레임워크로 서버 만들기개요 이번 포스팅에서는 vapor 프레임워크를 이용해서 나의 mac 에서 웹서버를 구축해보도록 하겠습니다. vapor란 웹서버를 구현하는데 도움을 주는 모듈이라고 생각하시면 될것 같습니다. 그럼 먼저 vapor 홈으로 가서 설치를 해보도록 하겠습니다. 설치환경도 있기때문에 자신의 xcode 버전과 swift 버젼을 잘확인하신후 설치를 하시기 바랍니다. https://vapor.codes/ 설치순서1.터미널 열기2. brew install vapor/tap/vapor 입력3.작업 폴더 생성 vapor new Hello4.작업 폴더로 이동 cd Hello5.vapor프로젝트 실행 vapor xcode6. 예시화면(BlockChain-Server .. 2018. 6. 1.
스위프트로 배우는 블록체인 -스마트 컨트랙트 스위프트로 배우는 블록체인 -스마트 컨트랙트 스마트컨트랙트 구현물건을 산다거나 보험에 가입한다거나 할때 발생하는 거래데이터를 거래타입에 따라 결과값이 달라지는 스마트 컨트렉트 기능을 구현해보는시간을 가지겠습니다. 쉽게말해서 가입비가 일반회원이면 10만원이고, vip회원이면 20만원이 되는 스마트컨트랙트 거래기능을 구현해보겠습니다. 먼저 거래 타입 enum을 만들어 준다. 나중에 transaction을 발생시킬때 domestic인지 international인지 아래에서 선택할 수 있습니다.//거래 타입enum TransactionType : String, Codable{ case domestic case international} 거래 데이터 클래스를 수정해준다. fee, transactionType부분이.. 2018. 6. 1.
스위프트로 배우는 블록체인 -데이터구조 스위프트로 배우는 블록체인 - 데이터구조 순서xcode9열기 -> get Started with a playground -> 위쪽 탭에 mac os 선택 -> blank 선택 개요이번 포스팅에서는 블록체인 기술의 뼈대가 되는 데이터 구조를 만들어 보겠습니다. 먼저 거래를 담당하는 transaction 구조체, 거래내역과 해쉬, 이전해쉬값, nonce 값을 담는 block 구조체를 만들고 그 블록을 담을 blockchain 구조체를 만들어 보겠습니다. 위에서 오픈한 mac os playground를 열고 아래 코드를 작성해주세요. transaction 구조체//거래 데이터 구조체class Transaction{ var from: String var to: String var amount: Double //.. 2018. 6. 1.