2021. 10. 18. 12:09ㆍBlockchain/Remix IDE
용어 정리
- 블록체인 네트워크란?
- VM(Virtural Machine)
* 블록체인 네트워크의 수 많은 노드들이 가상의 하나의 단일 기계처럼 작동하는 것을 의미하며, 스마트 컨트랙트는 이러한 VM위에서 작동 됨
* 실제 서버 환경과 테스트 환경을 동일하게 만들고 진행할 수 있게 함
- EVM(Ethereum Virtual Machine)
* 솔리디티 언어로 작성된 바이트코드를 해석하고 텍스트를 저장해주는 가상머신
* 많은 사람들이 동시에 EVM의 동일한 상태를 변경 할 때 데이터의 충돌이 일어나기 때문에 이것을 중재하는 것이 EVM의 중요 역할이며, 이 역할은 마이닝과 합의 알고리즘으로 해결 됨
- ABI(Application Binary Interface)
* EVM에 있는 기계어를 해석하고 객체에 알맞게 넣어주는 역할을 함
* ABI에서 Interfact란 데이터를 주고 받는 데이터 형식을 정하는 것
- Account의 종류
- EOA(Externall Owned Accounts)
공인인증서 있는 계좌번호
외부 소유 계정으로서 개인 키에 의해 통제
다른 계정에 이더를 보내거나 메시지를 보낼 수 있음 - CA(Contract Accounts)
EOA와 동일한 내용 + 코드를 저장한 계정
- Account의 구성
- 공개키(public key)
- 개인키(private key)
- nonce : tx Count(특정 계정에 트랜잭션이 몇번 일어났는지?의 일련번호값)
- value : 100 ETH == 1000000000000000000 Wei
여기까지는 EOA에 포함 - contract code : ABI 내용이 들어감
- storage : 파일 데이터들이 들어감
여기까지는 CA계정에 포함
- Transaction의 과정
- GAS
* 이더리움(wei) = gas * gas price
* GAS Limit : 한 transaction 안에 발생 될 수 있는 gas의 한계점
* 메타마스크와 블록체인 네트워크는 통신 할 때 RPC 통신을 하는데, 메타마스크를 통해서도 rpc 통신이 가능
* 3가지 방법(메타마스크/web3/terminal) 중 하나로 rpc통신 가능
(이전 포스트 참조, 링크 : https://hwan91.tistory.com/13)
* 채굴은 왜 하는지? 이더를 먹기위해
* 블록체인 네트워크에서 이더를 먹기위해서는 채굴을 해야하는 시스템을 만든 이유? -> 네트워크를 구성하기 위해
* 반감기 : 어떤 양이 초기 값의 절반이 되는데 걸리는 시간, 특정 조건에 달했을 때 코인의 발행 수량을 점점 줄임 (GAS가 많을수록 채굴 시 받는 이더 보상이 커짐, 보상 = 이더 + 수수료)
나만의 토큰 만들기 (RemixIDE 사용)
- 솔리디티 언어로 작성하고, 특정 변수에 숫자를 입력하는 방법
- 준비물 : RemixIDE(http://remix.ethereum.org), ganache 실행 후 metamask 연결
- RemixIDE 실행
Home/Compile/Deploy - [Home] 탭에서 MinimumViableToken.sol 파일 생성, 코드 작성
[HOME] 탭 화면과 MinimumViableToken.sol (아래) pragma solidity ^0.4.16; contract MinimumViableToken { mapping(address => uint256) public balanceOf; constructor() public {} function MinimumViableTokens(uint256 initialSupply) public { balanceOf[msg.sender] = initialSupply; } function transfer(address _to, uint256 _value) public { balanceOf[msg.sender] -= _value; balanceOf[_to] += _value; } }
- [Solidity Compiler] 탭에서 솔리디티 컴파일
※ Auto Compile 체크하면 자동으로 컴파일 진행 됨 - [Deploy] 탭에서 솔리디티 배포
ENVIROMENT : Injected Web3 선택, ACCOUNT에 메타마스크와 연결 된 가나슈 0번 인덱스 ADDRESS값이 일치하는지 확인 후 Deploy 클릭 배포 정상 완료 시 결과물 - 메타마스크에서 나만의 토큰 만들기
빨간 네모 클릭 토큰 계약 주소 : 아래 설명, 토큰 기호 : 아무거나 영문 대문자로 3글자, 토큰 십진수(소수점 몇자리까지 나타낼건지) : 18 토큰 계약 주소 가져오기 1 토큰 계약 주소 가져오기 2 나만의 토큰 생성 완료 - 나만의 토큰에 이더 보내기
Deploy 탭에서 빨간 네모 클릭 MinimumViableTokens 열어서 initialSupply에 1000000000000000000(wei) 입력 후 transact 클릭 - 결과 확인
거래 완료
'Blockchain > Remix IDE' 카테고리의 다른 글
하드코딩으로 나만의 토큰 생성, 트랜잭션 발생 시 이더와 토큰의 이동 (0) | 2021.10.19 |
---|