Ethereum

    Ethereum/이더리움 - 인터페이스 & ERC-20 / 토큰 발행하기

    이번 포스팅에서는 토큰을 발행하는 스마트 컨트랙트 코드를 작성하기 위한 전 단계로 인터페이스와 ERC-20에 대해 알아보고자 한다. 그리고 ERC-20을 토대로 실제 토큰 발행까지 진행해보도록 하자. 인터페이스 (interface) ERC-20 컨트랙트 JwToken 발행하기 스마트 컨트랙트를 통해 토큰을 발행하기 위해서는 이더리움 네트워크 상에서 발행되는 토큰의 표준, 규격을 가리키는 ERC-20 에 맞춰 코드를 작성해줘야만 한다. 쉽게 말해, 이더리움이 정한 표준 토큰 스펙인 ERC-20에 맞춰 토큰을 발행한다고 생각하면 된다. ERC-20에 맞춰 스마트 컨트랙트를 작성하기에 앞서 Solidity에서 사용되는 interface에 대해 언급하고 넘어갈 필요성이 있다. 1. 인터페이스 (in..

    Ethereum/이더리움 - Solidity(솔리디티) function payable

    이번 포스팅에서는 스마트 컨트랙트 함수에서 사용되는 payable 속성에 대해 알아보고자 한다. Solidity 언어는 코인(coin) 혹은 토큰(token)이라는 가상화폐를 다루는 언어이다. 다른 언어들은 프로그램을 만들기 위한 언어로 탄생했지만 Solidity는 가상화폐라는 돈을 다루기 위한 언어로 탄생했기 때문에 다른 언어와는 다르게 payable이라는 키워드가 존재한다. Solidity 언어에서 payable 키워드는 이더리움 플랫폼 위에서 이더(ether)를 전송하는 스마트 컨트랙트를 작성하기 위해 반드시 사용돼야 하는 키워드이다. 즉, payable을 작성한 함수에서만 이더(ether)를 보낼 수 있고 payable을 작성하지 않은 함수에서는 이더(ether)를 보낼 수 없다. 코드를 살펴보면..

    Ethereum/이더리움 - 스마트 컨트랙트로 투표 Dapp 만들기

    이번 포스팅에서는 스마트 컨트랙트를 이용해 간단한 투표 앱을 만들어 보고자 한다. 투표 앱의 전반적인 기능은 다음과 같이 구성해보았다. 후보자 초기화 - 스마트 컨트랙트 배포 진행시 후보군 등록 후보자에 대한 투표 기능 후보자에 대한 득표수 확인 스마트 컨트랙트의 작성 및 배포/실행은 truffle을 이용하였으며 Ganache를 사용해 로컬 이더리움 네트워크에 배포를 진행하였다. Voting이라는 이름으로 스마트 컨트랙트를 작성하였으며 candidateList 와 votesReceived 라는 두 가지 상태변수를 만들어주었다. candidateList는 string 데이터 타입을 요소로 갖는 배열( string[ ] ) 형태로 만들어주었으며 constructor( ) 함수를 이용해 배포를 진행하는 시점에..

    Ethereum/이더리움 - 스마트 컨트랙트로 토큰 발행하기

    이번 포스팅에서는 스마트 컨트랙트로 토큰(Token)을 발행하는 방법에 대해 다루고자 한다. ERC-20 Solidity 데이터 타입 인스턴스 생성 스마트 컨트랙트로 토큰 발행하기 1. ERC-20 ERC-20은 이더리움 블록체인 네트워크에서 정한 표준 토큰 스펙이다. 다시 말해, ERC-20은 이더리움 네트워크 상에서 발행되는 토큰의 표준을 뜻하며 스마트 컨트랙트를 통해 토큰을 발행하기 위해서는 정해놓은 규격에 맞춰 코드를 작성해야 함을 의미한다. 그렇다면 여기서 이야기하는 규격이라는 것은 어떤 것을 의미하는 것일까? 우리는 TypeScript에서 interface라는 것을 사용하여 객체의 형태를 지정해 주었다. interface는 객체의 모양을 본 뜬 내용이라고 할 수 있으며 토큰을 만들..

    Ethereum/이더리움 - 스마트 컨트랙트 이벤트 등록 및 백엔드에서 트랜잭션 생성하기

    이번 포스팅에서는 스마트 컨트랙트 안에 이벤트를 등록하는 방법에 대해 다루고자 한다. 이전 포스팅에서 작업한 카운터(Counter) 컨트랙트에 이벤트를 등록하는 방향으로 작업을 진행해 보겠다. 그리고 프론트에서 트랜잭션을 생성하는 것이 아닌 백엔드에서 트랜잭션 객체를 생성하고 프론트에 전달하는 방향으로 코드를 리팩토링하고자 한다. 이전 글) 2022.07.13 - [Ethereum] - Ethereum/이더리움 - 메타마스크를 통한 스마트 컨트랙트 실행 Ethereum/이더리움 - 메타마스크를 통한 스마트 컨트랙트 실행 이번 포스팅에서는 메타마스크를 사용해서 스마트 컨트랙트를 실행시켜보는 작업을 진행해보고자 한다. 위에 보이는 것과 같이 스마트 컨트랙트에 의해 동작하는 Counter(카운터)를 만들어 볼..