블록체인(8)
-
블록체인 TIL) 블록 구조,SHA256
1. 블록체인은 레코드(SQL에서 행,튜플)이기 때문에 데이터를 갖고 있다. 이전 해시 해시 : 블록의 지문 (이전 해시를 이용해 데이터를 표현하는 숫자. 64길이) 해시값을 통해 블록들이 암호화 링크로 연결되어있다. 2. SHA256 : 길이 64 (256 bit) 0~9,A,B,C,D,E,F 문자가 올 수 있다 (16진법 해시이기 때문) 텍스트 문서뿐만 아니라 어떤 디지털 문서에도 적용 가능 블록체인 해시, 토큰 등 연습 사이트 https://tools.superdatascience.com/blockchain/hash Tools - SuperDataScience tools.superdatascience.com 3. 해싱 알고리즘 조건 -단방향 (암호>복호는 가능하지만 복호>암호는 불가능) -결정적(동..
2022.06.09 -
블록체인 TIL) Truffle,Ganache를 React에 연동하기 + React 오류 해결
- truffle을 VSCode에 연동 성공하면 아래와 같은 폴더 구성이 완료됨 contracts파일, migrations 파일, test, client(Frontend)로 구성된다. 1. React에서 truffle을 사용해주기 위해 'truffle unbox react'를 사용해준다. 원래는 CRA(Create-React-App)을 통해 쉽게 React 프로젝트를 VSCode에서 구현할 수 있지만, Contracts 안에서 SimpleStorage.sol에서 컨트랙트 파일 작성 Migrations.sol은 삭제하면 안된다. 2. Ganache 시작 가나쉐를 설치해주고(SW 설치 필요) Quick start를 통해 테스트용 주소 작성 그리고 이걸 설치하기 전에 윈도우 내부에서 설정 오류가 발생했었는데,..
2022.06.09 -
블록체인 TIL) 크립토좀비 lesson1 complete
pragma solidity ^0.4.25; contract ZombieFactory { event NewZombie(uint zombieId, string name, uint dna); uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; struct Zombie { string name; uint dna; } Zombie[] public zombies; function _createZombie(string _name, uint _dna) private { uint id = zombies.push(Zombie(_name, _dna)) - 1; emit NewZombie(id, _name, _dna); } function _generateRandomDna(s..
2022.05.27 -
블록체인 220520 TIL) createNewBlock(),createNewTransaction()
blockchain.js function Blockchain() { this.chain=[]; this.newTransactions=[]; }; //새로운 블록 만들기 Blockchain.prototype.createNewBlock = function(nonce,previousBlockHash,hash){ const newBlock = { // Blockchain 안의 새로운 블록 index: this.chain.length+1, // 블록 넘버 timestamp:Date.now(), //타임스탬프=블록이 생성된 시점 transactions:this.newTransactions, //새로운 블록을 만들었을 때 모든 새로운 트랜잭션,UTXO가 담김 nonce:nonce, //자격증명에서 온 단순한 값. P..
2022.05.21 -
'암호화폐 혁명, 이더리움 블록체인'을 읽고
이 책은 비트코인과 이더리움의 비교에 중점을 둔 책이다. 작가의 생각보다는 이더리움의 과거와 현 상황에 집중한 책이므로 내가 알게된 내용을 중심으로 이번 포스팅을 작성해보고자 한다. 1. 블록체인은 금융 이외에도 수많은 분야에 적용될 것이라고 슈밥은 예측했다. 출생/사망신고,의료기록 등 국가,단체,개인이 관계하는 모든 것들이 블록체인에 자리 잡을 것이다. 2. 내가 맺은 스마트계약이 나에게 불리하지 않은지, 그리고 스마트 계약 결과 어떤 사건이 일어날 수 있는지 객관적으로 해석해주고 필요에 따라 요구하는 내용을 프로그램 해주는 일이 필요하다. 스마트 계약은 어떠한 권위 기관 X, 문제가 생겼다고 호소할 수 있는 중재 기관도 X 계약 당사자가 자율적으로 블록체인의 분산 시스템 상에서 계약하는 것 계약 어카..
2022.02.03 -
크립토좀비 1단계-6) 배열
크립토좀비 1단계-6 배열 파트를 진행하면서 구조체의 배열을 생성하는 방법에 대해서 배웠다. 자바에서는 int[] newArray=new int[5]; (정적 배열 : 배열 크기가 5로 정해짐)하는 식으로 해서 배열을 생성해왔는데 솔리디티에서의 배열도 동적/정적 배열이 있다. 또한 앞에서 선언한 구조체를 이용해서 배열을 선언할 수 있다. 구조체 배열은 구조체 밖에서 선언한다. 구조체 안에서 쓰면 구조체 안에서만 쓸 수 있다. pragma solidity ^0.4.19; contract ZombieFactory { uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; struct Zombie { string name; uint dna; } Zombie[] pu..
2022.01.31