Published: 12월 23, 2021

암호 프로그래밍의 개념

간단히 말하면, 암호 프로그래밍은 블록체인 기술을 활용한 소프트웨어 개발을 의미하며, 더욱 익숙한 프레임워크와 언어인 React 및 C++과 결합되는 것을 포함합니다.

암호화폐와 블록체인 개발은 점점 더 수요가 늘고 있습니다. 이는 엄청난 연봉과 무한한 채용 기회, 미래의 무한한 잠재력이 있는 직업입니다. 이는 이러한 기술들을 멀리 전진시키는 큰 미래를 위한 기반이 됩니다.

이러한 암호화폐와 블록체인이 미래의 경제의 기초를 형성할 것이며, 탈중앙화된 금융 시스템이 주도할 것입니다. 그리고 블록체인 기술 자체가 금융 문제뿐만 아니라 (투자, 경매, 상업적 관계 등) 인간 활동의 다른 분야에서도 유용하게 사용될 수 있는 충분히 범용적인 것으로 드러났습니다.

 

 

 

암호 프로그래밍을 선택함으로써, 당신은 다른 개발자들처럼 프로그램을 만들 것입니다. 그러나 당신 프로젝트의 내부에는 항상 가장 진보된 기술과 직접 관련된 코드가 있을 것입니다.

 

암호화폐 개발자란?

암호화폐 개발자는 컴퓨터에 가깝고 페이지나 코드를 만드는 방법을 알뿐만 아니라 탈중앙화된 금융 기술에 대해 잘 알고 있는 사람입니다. 최고의 경우 – 프로그램의 백엔드 구성 요소와 작업 경험을 가지고 있으며, 최악의 경우 – 적어도 원리적으로 프로그램 코드를 작성하는 방법을 이해합니다.

이러한 개발자는 Dapps(탈중앙화된 응용 프로그램)라고 불리는 분산 애플리케이션의 백엔드 코드를 작성하는 데 참여합니다. 이들은 일반적으로 이더리움 네트워크(이더리움)에 존재하며 스마트 계약이라고도 합니다.

 

“이더리움”이란?

이더리움은 스마트 계약이 지원하는 신뢰할 수 있는 환경에서 프로그램을 실행할 수 있는 전체 블록체인 환경입니다.

비트코인과 달리, 이더리움 플랫폼은 암호화폐 뿐만 아니라 다른 데이터와 상호 작용할 수 있습니다.

해당 프로그램은 EVM(이더리움 가상 머신)이라는 환경에서 실행됩니다. 이것은 사람들이 작성한 코드를 블록체인에서 소화할 수 있는 문자 집합으로 변환하고 블록체인 내에서 특정 작업을 수행하기 위해 만들어진 스마트 계약을 지원합니다. 또한, 자체 통화인 이더를 사용합니다.

 

 

이것은 종류 중 가장 크고 동시에 가장 인기 있는 시스템입니다. 대부분의 경우, 고용주들은 이더리움 프로젝트 인터페이스에 구현될 소프트웨어를 만들기 위해 암호 프로그래머를 찾고 있습니다.

스마트 계약

이것은 EVM 환경에서 실행되며 전달된 데이터, 이더 또는 어떤 논리도 처리할 수 있는 코드입니다. 스마트 계약에는 전달된 정보를 조작하는 함수가 작성되어 있습니다. 다른 스마트 계약과 데이터를 공유하거나 받은 정보를 기반으로 스마트 계약 사용자 사이에서 방송할 수 있습니다.

스마트 계약을 사용하면 제 3자를 거래에서 제외할 수 있습니다. 프로그램 코드가 공정성에 대한 책임을 질 것입니다: 공정하고 부패되지 않으며 올바르게 작동합니다.

암호 프로그래머는 이더 관련 거래를 수행할 수 있도록 스마트 계약을 생성하는 데 참여합니다.

암호 프로그래밍에 사용되는 언어 및 라이브러리

스마트 계약 및 암호화폐 네트워크의 다른 구성 요소를 생성하기 위해 전통적인 일반 목적 언어와 이더리움이나 그와 유사한 작업을 위해 특별히 생성된 새 언어가 모두 사용됩니다.

가장 인기 있는 네 가지 언어는 다음과 같습니다:

  • Solidity. 이것은 분야에서 선두자입니다. DApps 및 스마트 계약 작성을 시작할 수 있는 첫 번째 언어입니다. 이 언어는 JavaScript 및 C++ 구문을 기반으로 합니다. 엄격한 유형 지정이 있으며 초보자에게는 비교적 낮은 입문 장벽이 있습니다.
  • Java. OOP 원칙의 엄격한 준수와 암호화폐 작업 시 필요한 라이브러리의 풍부함으로 인해 블록체인 환경에서 요구됩니다.
  • Vyper. Python 구문을 차용한 안전하고 기능적인 프로그래밍 언어입니다. EVM과 스마트 계약 작성에 중점을 둡니다.
  • Python. Python 자체도 이 목록에서 빠질 수 없습니다. 가장 범용적이고 널리 사용되는 언어 중 하나이기도 합니다.

 

어떻게 암호 프로그래밍에서 경력을 시작할까요?

이 직업에 진입 장벽은 없습니다. 높은 수요로 인해 요구 사항은 특별히 엄격하지 않지만 단순한 열정만으로는 충분하지 않습니다. 기본 지식을 습득하고 블록체인 프로그래밍 언어의 공부에 몰두해야 합니다.

 

먼저 전반적으로 블록체인에 대해 읽어 보는 것이 좋습니다. 전체 시스템이 어떻게 동작하는지 일반적인 용어로 이해해야 합니다. 구현의 기술적 특징에 대한 이해는 초기 단계에서는 선택 사항입니다.

그 후에는 언어를 결정해야 합니다. 초보자에게는 Solidity가 추천되며, 이해하기 쉽기 때문입니다. 다음 단계는 계속해서 독립적인 실습을 하거나 적절한 강의를 듣는 것입니다.

장비 측면에서는 아무것도 필요하지 않습니다. 공식 Solidity 웹사이트의 지침에 따라 첫 번째 스마트 계약을 작성하려면 Remix라는 웹 IDE를 열기만 하면 됩니다.

 

Remix IDE에서 개인 테스트 네트워크에 연결하는 데 사용할 수 있는 환경은 무엇입니까?

다양한 방법으로 Remix IDE에 액세스할 수 있습니다: 인터넷을 통해, Chrome과 같은 웹 브라우저를 통해, 로컬 복사본을 통해 또는 Mist(이더리움 Dapp 브라우저)에서 통해 액세스할 수 있습니다.

 

브라우저에서 제공되는 Remix IDE

특별한 설치 없이 웹 브라우저에서 Remix IDE에 액세스할 수 있습니다. https://remix.ethereum.org에 방문하면 코드 편집기 및 스마트 계약을 컴파일, 실행 및 디버깅하는 데 사용되는 다양한 패널이 포함된 완전한 IDE가 제공됩니다. 기본 뉴스레터가 있는 예제 계약이 제공됩니다.

 

Remix IDE

 

Solidity를 배운 후에는 사용되는 프레임워크를 배워야 합니다: 스마트 계약의 생성을 단순화하기 위한 Truffle, 가상 블록체인 네트워크에서 소프트웨어를 테스트하기 위한 Ganache, 뒷단 컴포넌트를 프론트 파트(React 또는 Vue가 될 수 있음)와 연결하기 위한 Web3.js가 있습니다.

 

 

온라인 강좌를 통해 한 번에 모든 측면을 교육받을 수 있습니다. 많은 활발한 Solidity 개발자들이 강좌를 마친 후에 직업에 진입했습니다. 평균 교육 기간은 6개월 미만입니다.

전망과 미래

암호 프로그래밍은 계속해서 인기를 얻고 있는 개발자의 직업의 새로운 단계입니다. 유망하고 돈이 되는 일에 관심이 있다면 블록체인 개발에 주목해야 합니다.


 

이더리움 개발을 위한 실용적인 가이드. Solidity 스마트 계약 프로그래밍.

이더리움 기반의 DApp이나 ERC20 토큰을 만든다면 Solidity 언어를 배워야 합니다. 블록체인은 언어에 독립적이지만 많은 기존 언어가 블록체인 엔지니어에 의해 사용되고 있지만, 기존 언어로 편리하게 구현할 수 없는 몇 가지 작업이 있습니다. 이것은 새로운, 암호화 특화 옵션에 대한 수요를 열었습니다. 이러한 언어 중 하나가 Solidity입니다.

경험이 풍부한 개발자이거나 암호화폐에 시작한 지 얼마 되지 않은 경우에 관계없이, 스마트 계약은 블록체인 생태계의 중요한 부분이 되었으므로 Solidity 공부를 시작하는 것이 좋은 아이디어일 것입니다. dApp의 활발한 구현 외에도, 스마트 계약은 인프라 수준의 블록체인과 심지어 RSK와 같은 제공업체를 통해 비트코인까지 활발하게 통합되고 있습니다. 스마트 계약을 만드는 방법을 알고 있다면, 블록체인 프로그래머가 작업하는 방식을 추적할 수 있으며 더 나은 해결책을 가질 수 있습니다.

 

Solidity 문서

스마트 계약 기본 사항

개발의 일환으로 스마트 계약은 세 가지 섹션으로 구성됩니다: 잔액, 저장 및 코드입니다. 잔액은 스마트 계약이 얼마나 많은 이더리움을 가지고 있는지를 나타냅니다. 저장소에는 각 응용 프로그램에 특정한 문자열 및 배열과 같은 데이터가 포함됩니다. 코드 섹션에는 Solidity로 작성한 내용이 컴파일된 원시 기계 코드가 포함됩니다.

사용자 계정과 달리 스마트 계약 계정은 해당 네트워크 외부에 있지 않습니다. 즉, Kovan 및 Ropsten과 같은 다양한 네트워크에서 지갑을 사용할 수 있지만 스마트 계약으로는 할 수 없습니다. 스마트 계약은 내부적입니다.

각 스마트 계약에는 저자의 장치에 저장된 소스와 블록체인에 저장된 인스턴스가 있습니다. 스마트 계약의 인스턴스(계정)를 생성하려면 네트워크에 배포해야 합니다. 이는 전통적인 객체 지향 프로그래밍(OOP) 및 그를 나타내는 언어 (JS, Ruby)의 클래스 및 인스턴스 간의 관계와 매우 유사합니다. 더 시각적인 표현을 제공하기 위해 자전거 클래스를 만들고 그 인스턴스를 추가해 봅시다.

 

Bike class & instance

 

우리는 계약 정의를 작성할 것이고, 그것은 그 후에 컴파일러를 통해 실행될 것입니다. 컴파일러는 두 개의 파일을 생성할 것입니다: 바이트코드와 이진 응용 프로그램 인터페이스 (ABI)입니다. 바이트코드는 실제로 EVM에 전달될 것이고, ABI는 바이트코드와 일반적인 JavaScript 코드 간의 계층으로, 사용자 인터페이스 (UI)를 생성할 수 있게 해줍니다.

 

IDE 및 Solidity 버전 선택

시작하기 전에 적절한 통합 개발 환경 (IDE)이 필요합니다. 다시 말해, 우리는 코드를 작성할 필요한 도구가 갖추어진 편리한 터미널이 필요합니다. 이 가이드의 목적을 위해, 우리는 Remix라는 IDE를 선택할 것입니다. 이것은 이더리움 재단에서 만든 것으로 스마트 계약을 작성하고, 테스트하고, 디버깅하고, 실행할 수 있는 기능을 제공합니다. 직접 브라우저에서 사용하거나 원한다면 로컬로 다운로드하여 사용할 수 있습니다.

Remix를 실행한 후에는 가운데에 코드 편집기, 왼쪽에 파일 관리자, 오른쪽에 컴파일러가 표시될 것입니다.

 

Initial Remix window

 

무언가 미리 작성된 코드가 있을 것입니다 — 우리는 필요하지 않을 것입니다. 첫 번째 고유한 스마트 계약을 생성하려면 터미널의 왼쪽 상단에 있는 플러스 아이콘을 클릭하고 이름을 지정해 주세요.

 

Creating a new project in Remix

 

우리는 비어있는 .sol 문서를 가지고 있으므로, 컴파일러가 실행할 Solidity 버전을 명시해야 합니다. 이 가이드를 작성하는 시점에서 최신 버전은 0.5.7이었습니다. 버전을 정확히 모를 경우에는 버전의 범위를 지정할 수 있습니다.

 

2 types of specifying the Solidity version

 

우리의 스마트 계약에 이름을 지어주고 괄호를 붙여줍시다.

 

Naming the contract

 

첫 번째 스마트 계약 작성

우리가 캔버스를 준비했다면, 이제 주요 구성 요소를 정의할 차례입니다 — 변수입니다. 경험 많은 소프트웨어 개발자들은 이 개념을 이해하는 데 어려움을 겪지 않겠지만, 초보자들에게 간단히 소개하겠습니다. 변수는 프로그램에 의해 참조되는 정보 일부를 대신하는 자리 표시자입니다.

우리는 두 개의 변수를 만들어 보겠습니다: 문자열(문자의 연속)과 정수(숫자). Ethereum의 경우, 변수는 블록체인에 나머지 계약과 함께 저장되므로 어디서든 접근하고 업데이트할 수 있습니다. Solidity 변수의 또 다른 중요한 특성은 변수를 “private” 옆에 쓰면 비공개로 만들 수 있다는 것입니다. 마지막으로, 정수의 경우, Solidity에는 두 가지 유형이 있습니다: 부호 있는 (양수와 음수가 될 수 있음) 및 부호 없는 (양수만 될 수 있음). 부호 없는 변수를 지정하려면 앞에 ‘u’를 넣어주면 됩니다.

 

A private string and an integer

 

이름 변수가 있으면 설정 및 수신 메서드를 작성해야 합니다. 이는 JS 함수와 유사합니다. Solidity는 정적 타입을 갖기 때문에 변수의 유형을 정의해야 합니다. 이제 ‘setName’에 넣는 값은 문자열 ‘name’을 정의합니다. 이를 얻기 위해 getName을 사용하고 어떤 변수를 보고 싶은지 지정합니다. 이제 나이 변수에 대해 동일한 작업을 수행해 보겠습니다. 메서드는 getName과 유사하게 구성됩니다.

 

Name/age setters and getters

 

우리 작은 코드 조각을 확인해 봅시다. 컴파일러의 ‘Run’ 탭으로 이동하고 계약의 이름 아래에 있는 ‘배포’를 클릭하세요. 컴파일러의 맨 아래에 ‘배포된 계약’ 섹션을 보게 될 것인데, 여기에 우리의 메소드가 있습니다. ‘Newname’ 값을 전달하려면 문자열이 JSON으로 작성되어 있는지 확인해야 합니다. 그렇지 않으면 ‘getName’은 아무것도 반환하지 않습니다. ‘setAge’의 경우 따옴표 없이 나이를 지정하면 됩니다. 보시다시피, 이제 우리 스마트 계약을 통해 이름과 나이 변수를 설정하고 받을 수 있습니다.

 

Compiler, name and age

 

웨이(Wei)와 가스(Gas)는 이더리움 네트워크에서 중요한 개념입니다.

이더리움 스마트 계약의 가장 주목할 만한 기능 중 하나는 해당 계약을 이더리움 네트워크에 배포하기 위해 일정 금액의 돈을 지불해야 하는 트랜잭션을 초기화해야 한다는 것입니다. 이 돈은 이더(Ether)로 지불됩니다. 시스템에서 수수료가 어떻게 사용되는지 이해하는 것은 매우 중요합니다. 왜냐하면 EVM과 상호작용할 때마다 해당 수수료가 차감되기 때문입니다.

 

**웨이(Wei)란?**

우리 수업을 읽으면서 비트코인을 적어도 한 번은 사용했다고 가정해 봅시다. 아마도 1 BTC보다 적은 비용이 드는 작은 거래를 한 적이 있을 것입니다. 이 경우에는 달러의 센트와 비슷한 사토시(Satoshi)를 사용했습니다. 웨이는 사토시와 유사합니다. 즉, 이더 1의 가장 작은 부분입니다. 프로그래밍적 관점에서 보면, 이것은 네트워크에서 가장 작은 부호 없는 정수입니다. 네트워크와 상호작용할 때 가장 많이 만나게 되는 것은 기가위(Gwei)입니다. 이것은 기가위(Gwei)와 같이 10억 웨이에 해당합니다.

 

가스(Gas)란?

가스는 스마트 계약 실행 메커니즘의 필수 요소입니다. 각 트랜잭션에는 소비된 가스와 가격이라는 두 가지 값이 있습니다. 트랜잭션을 시작한 사용자가 이 값을 직접 설정합니다. 그러나 설정된 가스 값이 특정 작업을 수행하기에 충분하지 않으면 가스가 소비되지만 트랜잭션이 실행되지 않습니다. 게다가, 특정 시점에 네트워크에 대한 가스 가격이 너무 낮게 설정되면 노드에서 트랜잭션을 처리하지 않아 최종적으로 실패하게 될 수 있습니다. 여러 서비스가 트랜잭션에 대한 최적의 값을 확인할 수 있게 해 줍니다. 그 중 하나는 ethgasstation.info입니다. 가스가 왜 일정 금액이 드는지를 더 잘 이해하기 위해 우리만의 몇 가지 코드를 작성해 보겠습니다. remix 창으로 돌아가서 새 파일을 만들어 보겠습니다. 이 예제에서는 “Gas”라고 이름 지정하고 동일한 이름의 계약을 만들겠습니다. 블록체인에 저장해야 하는 데이터가 많을수록 더 많은 가스가 필요하다는 것을 기억해야 합니다. 이번 수업의 목적상 저렴한 계약을 만들 것입니다. 계약에 추가할수록 수수료가 더 많이 발생할 것입니다.

여기에는 두 입력의 합을 반환하는 함수가 있습니다. 가능한 간단하게 만들기 위해 우리의 계약이 블록체인에 아무것도 저장하지 않을 것이라고 지정하겠습니다. 이를 위해 함수 옆에 “pure”를 추가하겠습니다.

 
 

 

 

Cheap contract

 

이제 컴파일러에서 코드를 확장하고 어떤 두 숫자든 입력하여 정수 “c”를 얻을 수 있습니다. 우리 트랜잭션의 비용을 확인하려면 코드 섹션 아래에 위치한 터미널을 확인해야 합니다. 거기에는 트랜잭션 비용과 실행 비용이 표시됩니다. 첫 번째는 트랜잭션이 얼마나 많은 데이터를 가지고 있는지를 나타냅니다. 두 번째는 트랜잭션에 필요한 EVM 에너지가 얼마나 소비되었는지를 나타냅니다.

 
 

 

 

이것은 네트워크에 거의 비용이 들지 않는 매우 간단한 트랜잭션입니다. 의미 있는 스마트 계약을 작성할 때는 더 많은 세부 정보를 추가하게 되는데, 이는 그들의 무게를 증가시키고 결과적으로 트랜잭션 수수료를 증가시킵니다.

**ERC20 토큰 생성 및 배포. 토큰 발행 및 ICO 생성.**

솔직히 말해서, 막 시작한 대부분의 블록체인 개발자들은 크게 나아가서 자신의 블록체인과 토큰을 만들기를 원합니다. 이것은 다른 분야의 최고 소프트웨어 개발자들 중 일부를 끌어들이고 있는 매우 복잡한 주제이지만, 기본적인 ERC20 토큰을 만드는 것은 어려운 작업이 아닙니다.

먼저, Remix에서 다른 파일을 만들고 ERC20 인터페이스를 로드해야 합니다.

 

ERC20 표준

totalSupply 함수는 총 토큰 수를 확인할 수 있게 합니다. balanceOf 함수는 특정 주소에서의 토큰 수를 가져오는 데 사용됩니다. transfer 함수는 사용자간에 거래를 수행할 수 있게 합니다. “transferFrom”, “allow”, 그리고 “Approve” 함수는 사용자가 다른 사용자에게 자신을 대신하여 트랜잭션을 시작할 수 있도록 허용합니다. 이벤트는 일반 원장의 등록 도구입니다.

인터페이스 자체 외에도, 새 토큰을 위한 별도의 .sol 파일이 필요합니다. 여기에서는 ERC20 인터페이스를 가져와서 토큰의 심볼, 이름 및 소수점 수를 지정합니다.

 

uToday token

 

컴파일하기 전에 제약 조건을 지정해야 합니다.

  • 우선 일반적인 문장부터 시작하겠습니다. 이것은 상수 정수 변수로, 우리는 이를 비공개로 만들 것입니다. 우리 토큰의 총 공급량은 100만 개가 될 것입니다. 또한 이 값을 반환하는 함수를 작성할 것입니다.
  • 둘째, 우리의 토큰을 어디에 저장할지 지정해야 합니다. 이를 위해 모든 지정된 주소에 대한 잔액을 반환할 매핑을 지정해야 합니다.
  • 셋째, 토큰을 전송하는 기능이 있어야 합니다. 이 기능은 기본적으로 수령자의 주소와 전송된 토큰 수를 가져야 합니다. 이 함수는 또한 송신자가 자신의 잔액에 충분한 토큰이 있는지 확인할 수 있어야 합니다. 이는 간단한 if/then 문을 사용하여 구현할 수 있습니다. 또한 사용자가 “0” 토큰으로 트랜잭션을 보낼 수 없도록 ‘value’에 대한 조건을 설정할 것입니다. 이는 네트워크를 다양한 쓰레기로 막히게 할 수 있기 때문입니다.
  • 네 번째로, 나머지 함수에 대한 매핑을 만들어야 합니다. 이는 정수 매핑입니다.
  • 그런 다음 “approve” 및 “allow” 함수에서 여러 가지 확인 사항을 지정하고 ‘transferFrom’에 대한 조건을 설정할 것입니다.
  • 마지막으로, 모든 토큰이 시장에서 사용 가능하지는 않을 것입니다. 일부 토큰은 일반적으로 팀, 재단, 컨설턴트 및 기타 목적을 위해 예약됩니다. 따라서 시스템에서 유통되는 토큰의 수를 명확히 하도록 중요합니다. 토큰을 생성할 때, 교환 제안은 우리의 잔액과 동일하게 됩니다.

     

 

uToday token constraints

 

코드가 준비되었으므로 확인해 보겠습니다. 컴파일러의 “Run” 탭으로 이동하여 우리의 토큰 계약을 확장하십시오. 토큰 데이터뿐만 아니라 일반 제안, 잔액 및 수수료를 볼 수 있습니다. 축하합니다, 여러분은 첫 번째 토큰을 만들었습니다.

우리의 토큰이 네트워크에서 실제로 작동하려면 스마트 계약을 배포해야 합니다 (Remix에서 테스트를 위해 배포하는 것과는 다릅니다). 이 튜토리얼에서는 Remix와 Metamask를 사용할 것이지만, 다른 방법도 있습니다. Metamask는 일부 인기 있는 브라우저의 확장 프로그램으로 통합되는 멋진 사용자 인터페이스를 가진 간단하고 효과적인 이더리움 지갑 프로그램입니다. 우리의 경우, Opera를 사용할 것입니다. 먼저 metamask.io로 이동하여 확장 프로그램을 다운로드하십시오. 이 작업이 완료되면 브라우저의 우측 상단에 여우 아이콘이 나타납니다.

 

 

 

아이콘을 클릭하고 제안된 지침에 따라 지갑을 생성하십시오. 비밀 문구를 꼭 저장하십시오! 지갑을 가지고 있으면 Metamask 아이콘을 클릭하고 네트워크를 “Ropsten”으로 변경하십시오. 왜냐하면 우리는 본래의 이더리움 네트워크를 망치고 싶지 않기 때문입니다.

 

 

 

마지막 단계는 일부 이더를 생성하는 것입니다 (안타깝게도, 이것을 실제 구매에 사용할 수는 없지만 테스트에는 필요합니다). faucet.metamask.io로 이동하여 1 이더를 요청하십시오.

이제 모든 것이 준비되었습니다. Remix 창으로 돌아가서 컴파일러에서 환경을 “Injected Web3″로 변경하십시오. 또한 계정 탭을 확인하십시오. 여기서 여러분의 주소가 Metamask에서 생성한 주소와 일치해야 합니다. 배포할 스마트 계약을 선택하십시오. 이것은 토큰 계약이지만 ERC20 인터페이스는 아닙니다. 그런 다음 해당 버튼을 클릭하십시오. Metamask 창이 나타날 것이며, 트랜잭션과 그 세부 사항, 그리고 상호작용 옵션이 표시됩니다. 트랜잭션을 보내면 우리의 토큰이 활성화됩니다.

 

 

 

이제 우리가 이전에 언급한 모든 기능들을 살펴볼 수 있습니다. 계약이 올바르게 작동하는지 확인하기 위해 다른 쪽에서 우리의 계약을 살펴보겠습니다. 이더리움과 같은 다른 블록체인과 마찬가지로, Ethereum에는 네트워크에서 발생하는 사항을 모니터링하는 주요 목적으로 사용되는 여러 개의 블록 탐색기가 있습니다. 우리의 경우, etherscan을 사용할 것입니다. 여러 가지 뛰어난 대안이 있지만, 우리는 etherscan을 사용할 것입니다. 주의할 점은 etherscan에 로그인하면 기본적으로 Main Network가 표시됩니다. 우리는 Ropsten 네트워크를 보여주기 위해 사이트 주소 앞에 “ropsten”을 입력해야 합니다. 자신의 주소를 찾으면 두 개의 트랜잭션을 볼 수 있습니다. 받은 무료 이더의 트랜잭션과 계약을 배포하는 데 사용된 트랜잭션입니다.

 

 

계약 주소를 찾으려면 TxHash를 클릭하고 “To” 필드로 이동하십시오. 여기에서 스마트 계약의 거래, 코드 및 이벤트를 확인할 수 있습니다. 현재는 계약을 확인하고 게시해야 합니다. “Code” 섹션으로 이동하여 “Verify and Publish” 링크를 클릭하십시오. 여기에서 토큰의 이름과 컴파일러 버전을 다시 지정해야 합니다. 우리의 경우, 사용한 Solidity의 마지막 버전은 0.5.7이므로 해당하는 컴파일러 버전을 사용하겠습니다. 이제 토큰 스마트 계약 코드와 Remix 창에서 ERC20 인터페이스 코드를 etherscan으로 복사해야 합니다. 마지막으로 화면 하단의 “Confirm and Publish”를 클릭하십시오.

 

Smart contract verification

이제 계약 주소로 돌아가는 시간입니다. “Code” 탭의 코드는 이제 확인 대상이 될 것입니다. 또한 이제 “Read contract” 및 “Write contract” 두 개의 더 많은 탭이 있을 것입니다. “Read contract” 섹션에서는 우리의 토큰의 기능을 확인할 수 있습니다. ‘balanceOf’ 필드에 자신의 주소(계약 주소가 아님)를 입력하여 보유한 토큰 수를 확인할 수 있습니다. 이것은 총 공급으로 하드 코딩한 1백만 개의 토큰이 지갑으로 이체되었기 때문에 1백만 개를 표시해야 합니다. 이는 이제 우리의 토큰이 테스트 네트워크에서 올바르게 작동한다는 것을 의미합니다.

 

암호화폐 산업에서 개발자 경력을 시작하려면, 블록체인의 핵심에서 상대적으로 간단하더라도 블록체인은 엄청난 유연성과 기능성을 가지고 있다는 것을 이해해야 합니다. 2017년 이후로 블록체인은 크게 발전해왔으며, 그 사용 사례는 단순히 금융 거래를 넘어서기 시작했습니다. 이더리움의 등장으로, 다양한 dApps 애플리케이션과 블록체인 기반 솔루션이 호스팅되는 전혀 새로운 네트워크 계층이 등장했습니다. 이 진화의 도구는 스마트 계약이었으며, 여러분이 경험을 확장하고 더 가치 있고 미래 지향적인 경험을 만들고자 한다면 이것이 어떻게 작동하는지 알아야 합니다.

스마트 계약을 다른 언어로 인코딩할 수 있다면, 여전히 Solidity가 이러한 목적에 더 적합합니다. 게다가, 이더리움 개발자가 되고 프로젝트를 위해 ICO/ERC20 토큰을 만들고자 한다면, 이것이 분명히 여러분의 선택입니다. C++ 또는 JavaScript에 어느 정도 경험이 있더라도, Solidity로 코딩하는 것은 비교적 쉬울 것입니다. 그러나 클라이언트-서버와 탈중앙화 소프트웨어 스타트업 모델 간의 차이점을 이해해야 할 것입니다. 이더리움 재단과 일부 제3자 기관의 노력 덕분에, 개발자들은 Remix와 Etherscan과 같은 편리한 도구를 이용하여 스마트 계약을 코딩하고 배포할 수 있습니다.

우리의 튜토리얼이 여러분에게 Solidity의 대부분의 개념을 이해하는 데 도움이 되었기를 바랍니다. 언제든지 최신 Solidity 문서를 확인할 수 있다는 것을 기억하십시오.

Rate the article

Rate this post