솔리디티와 리믹스 IDE

심우진·2021년 12월 31일

스마트 컨트랙트

스마트 컨트랙트는 암호화폐 프레임워크를 신뢰 프레임워크로 전환시켜, 보다 폭넓은 영역에서
탈중앙화 어플리케이션을 활용할 수 있게 해주는 블록체인의 핵심 컴포넌트다.
구조적으로는 객체지향 프로그램에서 클래스와 유사한 독립적인 코드다.
또한, 데이터와 함수를 가진 배포 가능한 코드 모듈이다.
함수는 확인, 검증, 그리고 전송된 메시지를 저장하는 등의 특정한 목적을 수행한다.
현실 세계에서 컨트랙트는 규칙, 조건, 법, 강제해야 하는 규정, 기준, 상황, 날짜 및 서명 같은 증명을 위한 항목 등을 다룬다.
마찬가지로, 블록체인 문맥에서 스마트 컨트랙트는 탈중앙화 문제들을 풀기 위한 컨트랙트 규칙들을 구현한다.

스마트 컨트랙트는 암호화폐 이외의 디지털 자산을 위한 트랜잭션을 지원할 수 있는 프로그래밍을 가능하게 해준다.
스마트 컨트랙트는 각 블록체인 어플리케이션이 필요로 하는 특정한 확인과 검증을 가능하게 한다.
스마트 컨트랙트는 블록체인 어플리케이션의 두뇌와 같은 역할을 한다. 사람의 두뇌와 마찬가지로, 스마트 컨트랙트는 다음과 같은 많은 중요한 기능을 수행한다.

  • 각 어플리케이션의 특수한 조건에 맞는 확인과 검증을 할 수 있는 비즈니스 로직 레이어를 표현한다.
  • 블록체인에서 작동하기 위한 규칙의 명세를 설정할 수 있게 한다.
  • 탈중앙화 네트워크에서 자산의 전송을 위한 정책을 구현하기 쉽도록 한다.

설계원칙

  • 추적해야 할 데이터 에셋 - 할당할 값
  • 피어 참여자 - 할당값을 업데이트할 어플리케이션
  • 참여자의 역할 - 할당값을 업데이트하고 그 값에 액세스하는 것
  • 데이터와 함수에 검증, 검사해야 할 규칙 - 이 유스는 케이스에는 없음
  • 디지털 장부에 기록해야 하는 트랜잭션 - function 함수들()

솔리디티 언어로 리믹스IDE에 스마트컨트랙트를 작성해 보았다.

테스트 서버를 통해 배포하고 이더스캔에서 결과를 성공으로 확인할 수 있었다.

0개의 댓글