목록분류 전체보기 (265)
dukDukz
# Dapp 을 만들거임 # Dapp -> truffle -> React React 에서 deploy (배포)한 Smart Contract 내용을 가져오는 행위를 어떻게 작업했었는지 이미지 그려봐야함 배포한 컨트랙트 내용을 가져올 때 web3를 사용했다는 점 web3 에서 메타마스크에게 연결하는 방법 : 코드로 구현할 필요가 없음 truffle 이 알아서 해줌. react unbox 하면 src > getWeb3.js 가 있는데 이걸 나중에 호출해서 사용할거임 Promise 객체를 반환해줌 window.ethereum 이 어케 되는걸까?? - 메타마스크 설치되어있는 크롬에서만 나오는.. 즉 if(window.ethereum) 는 브라우져에 메타마스크가 있는지를 확인하는 것이다. # Truffle 작업 공..
1. 메타마스크 설치 크롬 확장프로그램에서 설치하고 지갑만들기 버튼을 눌러서 진행한다. 2. 가나쉬 설치 더보기 참고 - 테스트 네트워크 계정에서 이더 얻는 방법 더보기 메타마스크로 간단 transaction 해보기 1-1. 계정가져오기 1-2. 비공개키를 넣어주면 된다. 2. 이더 보내기 보낼 곳의 공개키를 넣어주면 된다. 보낼 금액을 적어주고 확인 누르면 보내짐 3. Transaction 확인하기 10 ETH 가 두번째 주소로 이동한 것을 확인할 수 있다. 그리고 가나쉬에서 TX COUNT = 1 로 변했다. Blocks 탭에 들어가보면 transaction 되면서 블럭이 생성된 것을 확인할 수 있다. Transaction 탭에서 보면 거래내역을 확인할 수 있다.
$ truffle init 1. contracts -> 솔리디티 작성하는 공간 2. migrations -> deploy 매서드가 사용되는 공간; 데몬에게 배포하는 행위를 하는 공간 3. test -> TDD 코드를 작성하는 공간 1. 솔리디티 파일 생성 $ truffle create contract [파일명] contracts 폴더 안에 [파일명].sol 이 생김 function hello() public view returns(string memory){ return "hello"; } 2. 솔리디티 파일 컴파일 하기 $ truffle compile 이후 build/contracts [파일명].json 생성되는것 확인하기 abi bin 파일을 truffle 에 맞게끔 json 파일로 바꿔준거임 3. ..
# truffle 에서 react 사용하기 $ truffle unbox react client : React 프레임워크가 설치된 공간 이 형태가 create-react-app : cra 가 설치된 폴더로 나온다. client> src > App.js 에 보면 기본적으로 web3 가 구현된것을 확인 할 수 있다. class 로 구현되어있는것만 함수형으로 바꿔서 쓴다고 생각하면 된다. Compile: truffle compile Migrate: truffle migrate Test contracts: truffle test Test dapp: cd client && npm test Run dev server: cd client && npm run start Build for production: cd cli..
# 메타마스크 = 지갑 지갑의 종류가 크게 2가지로 나눠져있다 핫 월렛 : 온라인 지갑 콜드 월렛 : 오프라인 지갑 메타마스크는 핫 월렛이다. 수탁형 지갑 : 거래소에 저장된 지갑. 제 3자에 의해서 보관되는 지갑 비수탁형 지갑 : 본인이 직접 관리하는 지갑 메타마스크는 비수탁형 지갑이다. 그렇다면 지갑의 역할은 무엇인가? 돈 보관 여기서의 지갑은 주소를 보관하는 공간이다. 가나쉬에 있던 10개의 주소들.. 왜 필요할까?? - 코인마다 지갑이 다르기 때문... 그래서 이런 것들을 저장하기 위해 나온게 메타마스크... 주소 보관 + 해당 주소 내용을 조회할 수도 있다. 해당 주소의 코인을 볼 수 있게 해준다. 혹은 다른 주소로 코인을 보낼 수 도 있다. 계좌 같은 느낌이다.
# 투표앱 만들기 * 솔리디티 1. 후보자를 초기화 2. 후보자 투표 기능 3. 후보자 정보 가져오기 구현하고 빌드해서 블럭에 배포(실행 시킨다는것)를 한다. 처음 배포할 때 이외에는 쓰지 않음 코드를 작성한 것. 컴파일 하면 두개의 파일이 나오는데 이것들을 블럭에 저장한다. (안에 내용들이 다 담겨 있음) * 블럭 abi 에 기능들이 다 저장이 됨 주소값도 영수증처럼 생김. * web3 이 저장한 내용을 웹에다가 출력 해야한다. 이때 쓰는게 바로 web3 이다. 사실 web3 는 따로 빠져있는게 아니라 html 페이지 안에 존재하는거임 얘가 가나쉬에 접근해서 접속한다. 블럭에서 주소값에 대한 내용도 가져와야 한다. 살짝 어려운 부분은 web3 랑 가나쉬랑 연결하는 부분..? # 투표앱 1. 솔리디티 코..
하나의 블록체인 서버(데몬)가 필요하다. 가나쉬 cli 로 데몬 만들었음 -> account(주소)와 이더가 들어가 있음 데이터를 어떻게 쌓을까?? 스마트 컨트랙트라는 코드를 통해서 블록에 데이터를 저장하게 되는 것. 저장한 공간에 주소가 생긴다. 데몬에 돌아가는 서버와 html 을 연결짓는 라이브러리가 존재한다. 그게 바로 web3 이다. 얘는 js 코드 안에서 작동을 한다. 그러면 데이터를 가져와서 html 에 뿌릴 수 있게 된다.
smart contract 간단하게 만들어보기 # 스마트 컨트랙트 : 실제 구동시켜서 해보는것을 할 것이다. = 코드 실행 (솔리디티) / 스크립트 실행 # 가나쉬 : 메인넷 테스트넷 없이 로컬에서 간단히 돌리는것. 알트코인의 데몬을 간단하게 만든다.(이더리움) + 테스트용 100 이더가 채워져있는 10개의 주소가 주어진다. 총 1000개 # 스마트 컨트랙트를 위한 세팅 nodejs 환경에서 세팅이 가능하다. Truffle Ganashe 를 node js 환경에서 설치가 가능하다. $ npm install -g truffle $ npm install -g ganache-cli $ npm install web3 # web3 란 무엇인가? → rpc 통신을 쉽게 구현할 수 있게 도와주는 라이브러리이다. # ..