목록웹 개발/블록체인 (42)
dukDukz
https://kimsfamily.kr/342 13. 리믹스 솔리디티 8.0 버전 ERC20토큰 만들기 1. 스마트 계약의 시작, 리믹스 도구 사용해보기 2. 솔리디티 개발환경 구성 3. 스마트컨트랙트 작성 후 배포하기 4. openzeppelin 사용하여 ERC20 토큰 만들기 5. Ropsten 테스트넷에 ERC20토큰 배포하기 6. kimsfamily.kr 위의 블로그와 동일하게 작업하고 토큰이름과 토큰심볼만 넣어서 ERC20 발행함 발행된 것을 확인 할 수 있음. https://testnet.bscscan.com/address/0x662030dad5325d879a7482717852c38981f427d5 Contract Address 0x662030dad5325d879a7482717852c38981..
https://www.youtube.com/watch?v=oUTDNC4fKkU * 크게 주목해야 할 것은 ERC1155가 NFT의 수량을 포함한다는 사실이다. 그래서 technically unique 하지 않다는 설명이 포함 되어 있는것이다.
# 기본 세팅 - ganache - metamask - $ truffle init - truffle config 설정 # 작업 순서 1. 환경설정 2. 코드작성 3. 가나쉬 배포 (로컬 배포) 4. 테스트넷 배포 (테스트넷 이더리움) 1. 환경설정 # 오픈제펠린 - 오픈제펠린을 이용해서 토큰을 만든다. 안정성 굿 - 블록체인의 불변성 배포를 한 컨트랙트는 수정이 불가. 재배포를 해야만 하는데 컨트랙트를 수정할 수 있게 도와주는 라이브러리. 사용자가 트랜젝션을 발생시켜도 이더가 소비되지 않음 => 배포자가 낸다. - 작성된 코드 ERC20, ERC721 인터페이스 구현 되어있음 interface { 함수들이 구현되어 있음 } 토큰에 관련해서 자주쓰는 기능들 쉽게 구현할 수 있도록 라이브러리를 제공해준다. ..
# 블록체인 네트워크 노드 = 컴퓨터 한대 노드들이 서로 연결되어있는 상태 이 하나의 노드에 들어가는 데이터 정보를 담는 형태를 어떻게 구현했는지 * 블럭 생성할 때 Block { header : { } body : { } } 하나의 노드에는 여러 블럭이 담겨있다. => 여기까지가 js 영역이였다. # 이더리움을 하면서 새로 추가 된 부분이 있다. Block body 영역에 채워지는 부분에 대한 추가 설명이 필요하다. - Transaction 에 대한 내용이 들어간다. nonce : 일련번호; 계정(EOA)에 종속되어있음 (tx count = nonce); transaction 에 대한 index 값 recipient : value : 금액에 대한 내용 [wei] / 이더리움의 가격 gasprice : ..
# 서명하는 방법 3가지 (사용자 입장에서) 블체 네트워크에있는 contract 사용 직전에 하는 작업 1. 메타마스크를 통해서 확인(팝업창) - 사용자가 서명하는 방식 (어제 했던것처럼) 핫 월렛 (온라인 지갑)을 통해서 하는 방식 => 지갑을 활용하여 서명하는 방식이라고 할 수 있다. 메마에 비밀키 저장하고있음 2. 사용자가 직접 서명하지만, Server를 거쳤다가 서명하는 방식 서명하겠다는 것을 컴퓨터 백서버에 (BE and DB) 사용자가 리엑트에 접근하면 사용자 로컬 메마가 블체에 연결시도 구매 버튼 클릭하면 리액트에서 함수 실행되고 이 내용을 백에 전달하고 백은 거기서 디비 작업을하고 백에서 리액트한테 서명을 받기 전 데이터를 건네주고 리액트는 사용자에게 그 내용을 알림창으로 띄워준다. 메마에..
Dapp 을 사용한다는 것은 사용자는 react로 솔리디티 언어는 EVM 이 해석해주고 빌드하면 abi 와 bin 파일이 생성됨 그럼 이 두 파일은 어디로 갈까? 블체 네트워크 (데몬)에 들어간다 이 파일을 어떻게 올렸나? 중간에 메타마스크를 통해서 데몬에 전달됨 그럼 어케 로컬이랑 메타마스크랑 연결됐나? 바로 web3를 통해서! react - web3 web3를 통해서 배포했었는데 우리가 만든코드를 블체 네트워크에 넣는행위하면 하나의 주소(contract 주소)를 반환해준다. 사용자 입장에서 사용자가 들어오면 metamask를 설치한 상태에서 이용을 할 것이다. react - web3 합쳐져있어서 react에 있는 주소와 사용자 로컬 metamask 와 연결한다. web3를 통해서 로컬 메마가 블체 데..
# 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 탭에서 보면 거래내역을 확인할 수 있다.