본문 바로가기

IT 초보코딩의 세계/블록체인6

블록체인 Solidity(이더리움 가상 머신, 계약 방법, 계약 구성요소 ) 1장 ◆ 이더리움 가상 머신 ▶ 솔리디티는 이더리움 가상 머신(EVM)을 대상으로 하는 프로그래밍 언어 ▶ 이더리움 블록 체인은 스마트 계약으로 알려진 코드를 작성하고 실행함으로써 그것의 기능을 확장하도록 함 ▶ EVM은 스마트 계약의 일부인 코드를 실행하는데 스마트 계약은 솔리디티로 작성되지만 EVM은 솔리디티의 고수준 구조를 이해하지 못함 ▶ EVM은 바이트코드라고 하는 저수준 인스트럭션을 이해 ▶ EVM이 솔리디티 코드를 이해하게 하려면 솔리디티 코드를 바이트코드로 컴파일해야 하는데 솔리디티 컴파일러 또는 sole라고 하는 컴파일러가 이 역할을 담당 ▶ 솔리디티 코드의 작성부터 EVM에서 실행하는 과정 ◆ 솔리디티 ▶ 정적타입 ▶ 객체 지향 언어 ▶ 한 번에 실행되어야 하는 기호는? ▶ 확장자는 sol .. 2023. 8. 29.
블록체인 탈중앙화 앱(네트워크 컨트랙트, 메타 마스크 설정) 4장 ◆ 네트워크에 컨트랙트 배포 ▶ 네트워크에 컨트랙트 배포 옵션 ● 이더리움 지갑으로 수동 배포 ● geth의 대화형 콘솔에서 터미널 명령으로 배포 ▶ 배포 과정 ● 고급 언어로 작성된 컨트랙트는 EVM 바이트코드로 컴파일되고 배포 트랜잭션을 통해 네트워크에 배포 ● 배포 트랜잭션은 컨트랙트 EVM 바이트코드를 포함하고 네트워크에 있는 로컬 전체 노드는 바이트 코드를 실행 ● 배포 트랜잭션은 네트워크 전체에 전파되고 채굴 노드는 네트워크 전체에 복제되는 새 블록에 바이트 코드를 포함시킴 ● 배포 트랜잭션은 다른 트랜잭션과 비슷하지만 이더나 데이터가 아닌 EVM 바이트코드를 블록체인에 저장 ▶ 메타 마스크를 통해 노드 없이 배포하기 ● 메타 마스크 ● 외부 이더리움 노드에 연결하는 크롬 확장 프로그램입니다... 2023. 8. 16.
블록체인 탈중앙화 앱(리믹스 솔리디티를 이용한 Dapp 구현) 3장 ◆ 리믹스 솔리디티를 이용한 Dapp 구현 ▶ 리믹스 솔리디티 ● 자바스크립트 와 비슷한 솔리디티라는 고수준 언어로 스마트 컨트랙트를 구현할 수 있도록 해주는 온라인 IDE ● http://remix.ethereum.org Remix - Ethereum IDE remix.ethereum.org ▶ 심플 코인 생성 ● create new file 선택해서 파일을 추가하고 코드 작성 //솔리디티 컴파일러의 지원 버전 pragma solidity ^0.4.0; //컨트랙트 정의 contract SimpleCoin { //상태 변수를 주소와 정수 사이의 매핑으로 정의 //상태 변수는 멤버 변수 와 유사 //매핑은 해시 테이블 또는 해시 맵 과 유사 mapping (address => uint256) public.. 2023. 6. 28.
블록체인 탈중앙화 앱(탈중앙화, Dapp) 3장 ◆ 탈중앙화 ▶ 개요 상품을 구매하기 위해서 인터넷으로 가격을 비교하다가 주로 이용하는 WellKnown.com보다 30퍼센트 저렴한 잘 알려지지 않은 SmallWebRetailer.com을 발견해서 상품을 구매하고자 했는데이 가격이 정말 가장 좋은 가격일까? SmallWebRetailer.com이 가짜 사이트는 아닐까? 돈만 받고 사이트가 사라지는 것은 아닐까? 마지막 구매 버튼을 누르기 전 몇 분간 고민하다가 WellKnown.com 사이트에서 30 퍼센트 비싼 가격으로 구매했는데 이는 SmallWebRetailer.com을 믿지 못했기 때문으로 신용카드사에 확인하거나 사기로 인한 환불 등 불필요한 시간을 낭비하고 싶지 않음 상품이 도착해 구매를 확정하기 전까지 판매자가 당신이 지불한 금액에 접근할 .. 2023. 6. 23.