-
[Solidity] 이더리움 체인 ERC-20 토큰(코인) 락 걸기 & 락 해제 하기
OwnerHelper 특정 함수를 관리자만 사용할 수 있도록 설정하는 OwnerHelper 함수 OwnerHelper를 사용하여 public으로 공개되어 있는 함수 중에, 관리자만 접근 가능한 함수를 만들수 있다 OwnerHelper 컨트랙트는 abstract contract 라고 하는 추상 컨트랙트이다 tokenLock tokenLock은 토큰의 전체 락에 대한 처리이고 tokenPersonalLock은 토큰의 개인 락에 대한 처리이다 함수 isTokenLock은 전체 락과 / 보내는 사람의 락... Read More
-
[Blockchain] 클레이튼 KIP-7 (Klaytn Improvement Proposals-7)
KIP-7 KIP-7은 Klaytn Improvement Proposals-7 의 약자 👉 클레이튼의 7번째 개선 제안이다 KIP는 클레이튼 블록체인 네트워크에서 발행되는 토큰(token)의 표준 클레이스왑 DEX 거래소 / Defi 서비스 👆 대체 가능한 토큰(FT)은 클레이튼 기반 토큰끼리 서로 호환이 가능하다 (스왑) KIP-7의 표준을 통해 클레이튼 기반 모든 토큰들이 지갑 / 탈중앙 거래소 (DEX, Defi) / dapp 에서 재사용 할 수 있다 KIP-7은 ERC-20에서 파생되었다 ... Read More
-
[Solidity] 이더리움 체인 ERC-20 기반 토큰(코인) 만들기 (Ropsten Testnet)
ERC-20 기반 토큰(코인) 만들기 Ropsten 테스트넷에 ERC-20 토큰 만들고 배포하기 -1. 메타마스크에 접속하고, Ropsten 테스트 네트워크를 선택한다 -2. Remix IDE 에서 SimpleToken.sol 파일을 생성한다 -3. ERC-20 코드를 입력한다 -4. SimpleToken.sol 파일을 컴파일한다 -5. DEPLOY & RUN TRANSACTIONS 항목으로 이동한다 5-1. ENVIRONMENT 부분을 Injected Web3로 변경하여 ‘메타마스크’와 연동한다 5-2. DEPLOY에 들어갈 인자값을 입력한다 ... Read More
-
[Blockchain] 이더리움 ERC-20 (Ethereum Request for Comment-20)
ERC-20 ERC-20은 Ethereum Request for Comment 20 의 약자 👉 ERC의 20번째 요청사항이다 ERC는 이더리움 블록체인 네트워크에서 발행되는 토큰(token)의 표준 ERC-20 ‘토큰이 되기 위한 기준’은 스마트 컨트랙트 기능이 포함이 되었나, 되지 않았나로 볼 수 있다 ERC-20 토큰은 채굴을 할 수 없다 스마트 컨트랙트의 표준 ‘ERC-20’ ERC-20은 토큰을 구현하기 위한 이더리움 블록체인에서 스마트 컨트랙트에 사용되는 기술 표준으로 이더리움 네트워크 상에서 유통되는 토큰의 ‘호환성을 보장’하기 ... Read More
-
[Blockchain] 스마트 컨트랙트 ABI (Application Binary Interface)
스마트 컨트랙트를 컴파일하면, 바이트코드와 ABI 등이 생성된다 👉 ‘ABI’는 호출하고 실행시킬수 있는 함수와 객체를 제공 개발자는 ‘스마트 컨트랙트 주소’와 ‘ABI’를 알면 ‘web3.js’ 를 통해 스마트 컨트랙트를 생성하고 특정 함수를 실행할 수 있다 컨트랙트 주소를 연결하고, 이러한 객체를 통해 콜이 가능하다 컨트랙트 주소는 바이트 코드의 위치를 파악하여 가져오기 위하여 사용한다 그래서 스마트 컨트랙트 주소와 / ABI / 논스를 같이 사용한다 web3.js는 ‘JSON-RPC’ 를 통해 ‘블록체인의 데이터’와 스마트 컨트... Read More
-
[Blockchain] Remix IDE / Klaytn IDE localhost 연결
[BEB 4th TIL] 50일차 회고 Remixd란? Remix IDE는 웹 브라우저에서 동작하는 IDE이기 때문에, 브라우저 캐시가 지워지는 경우 작성된 파일도 함께 삭제될 수 있습니다. Remixd는 로컬 컴퓨터에 저장되어 있는 소스 코드 파일 또는 폴더를 Remix IDE와 로컬호스트에서 웹소켓 통신으로 연결합니다. Remix IDE에서 연결된 파일 또는 폴더가 변경될 경우, 로컬 컴퓨터에도 자동으로 저장됩니다. 따라서 Remixd를 사용해 편리하게 코드를 백업할 수 있습니다. Remixd 사용법 터미널에 다음의 명령어를 입력하여 remixd를 설치합니다. npm install -g @r... Read More
-
[Blockchain] 솔리디티 solc & Compile
스마트 컨트랙트 코딩 👉 소스 코드 컴파일 👉 ABI 로부터 스마트 컨트랙트 객체 생성 👉 스마트 컨트랙트 배포 👉 채굴 ‘솔리디티’ 언어로 스마트 컨트랙트 코딩 EVM은 솔리디티를 못읽기때문에 ‘solc’를 이용하여 소스코드 컴파일 EVM이 읽게 ‘바이트코드’ 형태로 만듬 구체적인 정보는 ‘ABI’ 에서 취득해야한다 ‘ABI’와 ‘바이트코드’를 사용해 컨트랙트 객체를 만들어준 뒤 사용될 지갑주소가 포함된 트랙잭션을 생성해 함께 배포(deploy) 한다 배포(deploy)의 결과로는 트... Read More
-
[ubuntu 20.04] sources.list 초기화 / sudo apt-get update 명령어 에러 해결방법 (2620:2d:4000:1::16)
찾아보게된 이유 🧐 우분투에 설치되어 있는 파일을 업데이트 & 업그레이드를 하는 sudo apt-get update 명령어 실행중에 (2620:2d:4000:1::16) ppa.launchpad.net:80에 연결할 수 없습니다 에러발생 🚫 구글링을 해서 내가 해결한 방법을 기록으로 남기려고 한다. 해결 방법 😎 구글링을 해보면 ‘한국 KR 우분투 서버가 죽어서’ 그렇다고 sources.list 라는 파일을 수정해야된다고 해서 sudo vi /etc/apt/sources.list 또는 sudo gedit /etc/apt/sources.list 👆 명령어를 이용하여 / 에디터 ... Read More
-
[Blockchain] Ropsten Testnet 롭스텐 테스트넷 이더리움 받기 (Ropsten Faucet)
Ethereum (rETH) Faucet Ropsten 롭스텐 테스트넷에서 사용할수있는 ‘테스트용’으로 나눠주는 이더리움 Ethereum (rETH) Faucet https://faucet.dimensions.network/ 👆 위 사이트에서 Faucet 받기를 누르면 된다 만약에 받은적도 없는데 24시간 후에 다시 요청하라고 나오는 에러가 나온다면 > You have requested a withdrawal in the last 24 hours. Please try again later. 그럴땐 ‘다른 Faucet 사이트’에서도 안받아지... Read More
-
[Blockchain] 스마트 컨트랙트 EVM Opcode 분석
EVM (Ethereum Virtual machine) EVM은 ‘스마트 컨트랙트의 Byte Code’를 실행하는 32Byte Stack 기반의 실행 환경으로 최대 크기는 1024Byte이다 EVM은 솔리디티를 읽을 수 없다 그래서 작성한 솔리디티 코드를 ‘solc’를 이용해 컴파일하여 EVM이 읽을 수 있는 '바이트코드 형태'로 만든다 이더리움의 각 노드는 EVM을 포함하고 있으며, EVM을 통해 컨트랙트의 Byte Code를 👉 Op code로 변환 후 내부에서 실행한다 EVM 에서 사용되는 Opcode 바이트코드 ... Read More