BlockChain(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단계-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 -
크립토좀비 1단계-5) 구조체
안녕하세요. brandy 입니다. 크립토좀비를 해보면서 오랜만에 '구조체'라는 단어를 보았는데요, 정답은 맞췄지만 구조체의 개념을 다시 한 번 짚고 넘어가야 할 것 같아서 해당 포스팅을 작성하게 되었습니다. pragma solidity ^0.4.19; contract ZombieFactory { uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; struct Zombie { string name; uint dna; } } 좀비 몇 마리를 생성하기 위해 구조체 개념을 이용하였는데요, 구조체의 개념에 대해 다시 한번 짚고 넘어가보려고 합니다. 구조체는 주로 C/C++에서 사용되는 개념으로 구조화된 데이터를 처리할 때 사용합니다. 구조화 되어있다는 말은 의미가 ..
2022.01.31