반응형 분류 전체보기141 Remix에서 ERC-721 개발하기 💡 Remix에서 ERC-721 개발하기 1. 먼저 Remix에 접속한다. http://remix.ethereum.org/ 2. File Explorers 왼쪽 상단의 + 버튼을 눌러, 임의의 프로젝트 이름을 입력하고 OK를 누른다. 3. contracts 폴더를 보면 자동으로 생성된 .sol 파일들이 있다. 이를 지우고 새로운 파일을 추가한다. 나는 아래와 같이 MyNFT.sol을 추가했다. 4. MyNFT.sol 파일에 ERC-721 컨트랙트 코드를 입력한다. 여기서는 직접 표준을 구현하는 대신 Open Zeppelin에서 제공되는 라이브러리를 import하여 사용한다. // SPDX-License-Identifier: MIT pragma solidity ^0.8.7; import "@openzepp.. 2022. 7. 20. ERC-721을 NFT라 부르는 이유 💡ERC-721 이란? EIP-721(이더리움 개선 제안의 721번째 토론)에서는 각각 구분할 수 있는 토큰에 대한 토론이 이루어졌다. 이 EEP-721은 이더리움 커뮤니티의 많은 동의를 얻어 ERC-721로 정의되었다. 공식 문서에서는 EIP-721을 다음과 같이 정의 한다. "A standard interface for non-fungible tokens, also known as deeds." 증서로도 알려져있는 대체 불가능한 토큰을 위한 표준 인터페이스 여기서 한가지 익숙한 단어를 만나게 된다. 바로 non-fungible tokens, 즉 NFT이다. 우리가 알고 있는 NFT는 이 대체 불가능한 토큰의 약자이다. 그럼 NFT로는 무엇을 할 수 있을까? 이 질문에 대한 답은 공식문서의 Abstra.. 2022. 7. 20. Truffle(트러플), Truffle Develop, Truffle과 Ganache 연동 💡 Truffle 프레임워크 truffle 프레임워크는 스마트 컨트랙트solidity) 개발시 개발, 배포 및 테스트 환경을 제공한다. 이 프레임워크는 node.js 에서 동작을 하며 npm으로 설치할 수 있다. [요구사항] - NodeJS 5.0 이상 - 윈도우, 리눅스, Mac OS X - JSON RPC API를 지원하는 이더리움 클라이언트 npm install -g truffle TRUFFLE SUITE https://trufflesuite.com/ ✓ Truffle 프로젝트 생성 일단 아래 명령어로 Truffle Sample Project를 만들어본다. sample 디렉토리를 만들고 sample 폴더로 들어가 truffle init을 통해 트러플 프로젝트를 초기화한다. mkdir sample c.. 2022. 7. 15. Ganache/Ganache-cli 설치하기, Ganache와 Remix 연동, Ganache Network에 스마트 컨트랙트 배포 💡Ganache ✓ Ganache가 필요한 이유 이더리움 노드는 Geth 나 Parity를 사용하여 실제 이더리움 메인(또는 테스트) 네트워크에 접속하여 블록을 모두 동기화시켜야 한다. 그러나 블록을 동기화 시키는데만 해도 2~3일 정도 소요되며, 트랜잭션을 보내도 블록을 채굴하기까지기 기다려야 하는 등, 스마트 컨트랙트를 개발할 때 불편한 점이 많다. 그래서 스마트 컨트랙트를 개발할 때는 가나슈(Ganache)와 같은 가상 혹은 프라이빗 네트워크 상에서 스마트 컨트랙트를 구동해보고, 테스트넷을 거쳐 메인넷에 올린다. 💻 개발 및 배포 과정 TestRPC -> TestNet -> MainNet - TestRPC: 가나슈를 사용해 로컬 환경에서 개발 진행 - TestNet: 개발 완료 후 MainNet과 .. 2022. 7. 15. ERC-20이란? 💡ERC-20 이란? ERC-20은 Ethereum Request for Comment 20의 약자를 뜻하며, 20은 리퀘스트 숫자이다. 이더리움 네트워크의 개선안을 제안하는 EIPs(Ethereum Improvement Proposals)에서 관리하는 공식 프로토콜이다. ERC-20은 이더리움 블록체인 네트워크에서 정한 표준 토큰스펙이다. 필요한 이더리움과 호환성이 있는 모든 요구 사항을 충족시키는 표준은 ERC-20으로 간주되고, ERC-20 토큰은 이더리움과 교환 가능하며 이더리움 지갑으로 전송이 가능하다. ✓ EIP VS ERC ? EIP는 Ethereum Improvement Proposals의 약자로 이더리움 개선 제안이고, ERC는 Ethereum Request for Comments 의 약.. 2022. 7. 15. Geth를 사용해 스마트 컨트랙트 빌드하기 💡 Geth를 사용해 스마트 컨트랙트 빌드하기 아래 방법대로 하면 Geth console과 Web3를 사용해 스마트 컨트랙트를 이더리움 Ropsten Testnet에 배포할 수 있다. 1. simpleStorage.sol 코드를 디렉토리에 저장한다. // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.4.16 https://study-with-ej.tistory.com/73) geth console 2> /dev/null --ropsten 4. simpleAbi 변수를 선언하고, 위에서 컴파일한 결과값 중 ABI로 초기화한다. 터미널에 simpleAbi를 입력하여 변수가 잘 초기화되었는지 확인할 수 있다. var simpleAbi = [{"inputs":[.. 2022. 7. 13. 모든 언어의 시작은 "Hello World" 부터! 솔리디티로 헬로우월드 찍어보기 💡Hello World! 모든 언어의 시작은 Hello World 찍어보기부터! 오늘은 솔리디티 언어로 간단하게 Hello World를 반환하는 컨트랙트를 작성해보고자 한다. ➤ Step 1. http://remix.ethereum.org/ 에 접속한다. ➤ Step 2. helloWorld.sol 파일을 생성한다. ➤ Step 3. SPDX 라이센스와 pragma를 설정한다. // SPDX-License-Identifier: GPL-3.0 pragma solidity 0.8.7; ➤ Step 4. contract 키워드를 사용해 helloWorld 컨트랙트를 만든다. // SPDX-License-Identifier: GPL-3.0 pragma solidity 0.8.7; contract helloWor.. 2022. 7. 13. Ropsten 테스트넷에 컨트랙트 배포하기 💡 Ropsten 테스트넷에 컨트랙트 배포하기 1. Remix 에는 MetaMask를 통해 Ropsten 테스트넷에 연동되어 있는 상태이다. 연동이 잘 되어 있다면 Deploy 버튼을 누른다. Remix에 Metamask 연결하는 방법 2. 다음과 같은 팝업창이 뜨는데, 예상되는 gas 수수료를 확인할 수 있다. 여기서 주의할 점은 메인넷이 아닌 테스트 네트워크가 맞는지 꼭 확인해야한다. 3. 확인을 누르면 Ropsten 테스트 네트워크에 스마트 컨트랙트를 배포하는 트랜잭션이 실행되고, 트랜잭션 정보가 터미널에 출력된다. 배포 끝! ✓ 이더스캔에서 컨트랙트 검증 및 등록하기 1. 트랜잭션 정보 중 transaction hash값으로 우리가 컨트랙트를 배포한 트랜잭션을 식별할 수 있다. 이더스캔에 접속해 .. 2022. 7. 12. Remix에 메타마스크(MetaMask) 연결하기 💡 Remix에 MetaMask 연결하기 Remix에 MetaMask 를 연결하여, 웹 브라우저로 스마트 컨트랙트를 빌드하고 배포할 수 있다. Remix에 Metamask를 연결해보자. 메타마스크를 연결하기 위해서는 메타마스크 확장 프로그램에 로그인된 상태여야 한다. Step 1. 리믹스에 접속한 다음, 왼쪽 탭에서 Deploy & run transactions 탭을 선택한다. Step 2. 왼쪽 상단의 ENVIRONMENT를 선택하고, Injected Web3를 선택한다. Step 3. 팝업창으로 실행된 MetaMask에서 연결하려는 지갑을 선택하고 다음을 누르고 연결을 누른다. Step 4. Remix의 계좌와 연결하려는 계좌가 같다면 성공적으로 연결된 것이다. 2022. 7. 12. 로컬 컴퓨터에 Remix 코드 저장하기 - Remixd 💡 Remixd Remix IDE는 웹 브라우저에서 동작하는 IDE이기 때문에, 브라우저 캐시가 지워지는 경우 작성된 파일도 함께 삭제될 수 있습니다. Remixd는 이러한 불편함을 해소시켜줍니다. Remixd는 로컬 컴퓨터에 저장되어 있는 소스 코드 파일 또는 폴더를 Remix IDE와 로컬호스트에서 웹소켓 통신으로 연결합니다. Remix IDE에서 연결된 파일 또는 폴더가 변경될 경우, 로컬 컴퓨터에도 자동으로 저장합니다. Remixd를 이용해서 편리하게 코드를 백업할 수 있게 됩니다. ➤ Remixd Github : https://github.com/ethereum/remix-project/tree/master/libs/remixd 💻 Remixd 사용법 Step 1. Visual Studio Co.. 2022. 7. 12. Remixd 문제 해결 : Cannot connect to the remixd daemon. Please make sure you have the remixd running in the background. 💡Remixd alert 해결하기 remixd를 이용하여 remix IDE를 로컬 파일과 연결하려고 시도하는 중에 위와 같은 에러를 만났다. Cannot connect to the remixd daemon. Please make sure you have the remixd running in the background. https://www.npmjs.com/package/@remix-project/remixd @remix-project/remixd remix server: allow accessing file system from remix.ethereum.org and start a dev environment (see help section). Latest version: 0.6.3, last pu.. 2022. 7. 12. 스마트 컨트랙트의 동작 방식 💡 스마트 컨트랙트의 동작 방식 스마트 컨트랙트는 블록체인 위에 올라가서 거래 이외의 것들을 할 수 있게 만들어 줍니다. 이 스마트 컨트랙트는 어떻게 만들고 어떻게 사용될까요? 스마트 컨트랙트의 동작 방식과 전반적인 흐름에 대해 살펴보도록 하겠습니다. 💻 스마트 컨트랙트 코딩 블록체인에 올라갈 스마트 컨트랙트를 구현해보도록 하겠습니다. 스마트 컨트랙트는 스마트 컨프랙트를 구현할 수 있는 언어로 코드를 작성합니다. 다양한 IDE에서 작성할 수 있지만 테스트할 수 있는 IDE는 제한적입니다. IDE란 Integrated Development Environment 우리말로는 통합 개발 환경입니다. 이는 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리할 수 있는.. 2022. 7. 12. 이전 1 2 3 4 5 6 7 8 ··· 12 다음 728x90