Develop/블록체인 7

[Inflearn] 블록체인 이더리움 부동산 댑(Dapp) 만들기 - 기본편

c 1. 첫 발걸음 분산 어플리케이션 = dapp 2. 환경설정 1) 이더리움 DAPP 개발환경 셋업 1 (Geth, 가나슈, 노드.js, 트러플) Geth = Go ethereum : 풀이더리움노드를 내 로컬환경에서 커맨드라인인터페이스를 통해 실행시킴 powershell 에서 geth version 잘 설치됐는지 geth version 가나슈 설치 https://github.com/trufflesuite/ganache/releases/tag/v1.1.0 trufflesuite/ganache Personal blockchain for Ethereum development. Contribute to trufflesuite/ganache development by creating an account on G..

[블록체인/Inflearn] 리액트로 구현하는 이더리움 Dapp

리액트 - 프론트엔드 솔리디티 - 스마트컨트랙트 서버 로직 스마트 컨트랙트는 이더리움에 배포된다. 데이터도 이더리움에 저장된다. * Dapp만의 특징? - Decentralized Application 분산공유 - 자체적인 화폐 기능을 가지고 있다. - 이더에 대한 소득세 x 2번째 강의 - 개발환경구성 프론트엔드 - 자바스크립트 기반 톰캣의 역할 : 가나쉬 stack exchange - ethereum 여기서 질문 많이 node.js 설치 후 powershell에서 (꼭 관리자로 실행) npm --version npm install truffle npm install -g --production windows-build-tools@3.1.0 python도 같이 설치됨 npm install -g node..

[블록체인] 크립토좀비 - 5. ERC721 & 크립토 수집품

챕터 1: 이더리움 상의 토큰 _토큰_에 대해서 얘기해보지. 자네가 이더리움 세상을 조금이라도 접한 적이 있다면, 사람들이 토큰에 대해 이야기하는 것을 들어봤을 수도 있을 것이네 - 구체적으로는 _ERC20 토큰에 대해서 말이네. 이더리움에서 _토큰_은 기본적으로 그저 몇몇 공통 규약을 따르는 스마트 컨트랙트이네 — 즉 다른 모든 토큰 컨트랙트가 사용하는 표준 함수 집합을 구현하는 것이지. 예를 들면 transfer(address _to, uint256 _value)나 balanceOf(address _owner) 같은 함수들이 있네. 내부적으로 스마트 컨트랙트는 보통 mapping(address => uint256) balances와 같은 매핑을 가지고 있네. 각각의 주소에 잔액이 얼마나 있는지 기록하..

[블록체인] 크립토좀비 - 3. 고급 솔리디티 개념

https://cryptozombies.io/ko/lesson/3/chapter/1 챕터 1: 컨트랙트의 불변성 지금까지 본 것만으로는, 솔리디티는 자바스크립트 같은 다른 언어와 꽤 비슷해보였을 것이네. 하지만 이더리움 DApp에는 일반적인 애플리케이션과는 다른 여러가지 특징이 있지. 첫째로, 자네가 이더리움에 컨트랙트를 배포하고 나면, 컨트랙트는 변하지 않는다네(Immutable). 다시 말하자면 컨트랙트를 수정하거나 업데이트할 수 없다는 것이지. 자네가 컨트랙트로 배포한 최초의 코드는 항상, 블록체인에 영구적으로 존재한다네. 이것이 바로 솔리디티에 있어서 보안이 굉장히 큰 이슈인 이유라네. 만약 자네의 컨트랙트 코드에 결점이 있다면, 그것을 이후에 고칠 수 있는 방법이 전혀 없다네. 자네는 사용자들에..

[블록체인] 크립토좀비 - 1. 좀비 공장 만들기 / 2. 좀비가 희생물을 공격하다

챕터 6: 배열 어떤 것의 모음집이 필요할 때 _배열_을 사용할 수 있네. 솔리디티에는 _정적_ 배열과 _동적_ 배열이라는 두 종류의 배열이 있지: // 2개의 원소를 담을 수 있는 고정 길이의 배열: uint[2] fixedArray; // 또다른 고정 배열으로 5개의 스트링을 담을 수 있다: string[5] stringArray; // 동적 배열은 고정된 크기가 없으며 계속 크기가 커질 수 있다: uint[] dynamicArray; 구조체의 배열을 생성할 수도 있다. 이전 챕터의 Person 구조체를 이용하면: Person[] people; // 이는 동적 배열로, 원소를 계속 추가할 수 있다. 상태 변수가 블록체인에 영구적으로 저장될 수 있다는 걸 기억하나? 그러니 이처럼 구조체의 동적 배열을 ..