Top 22 스마트 컨트랙트 배포 Trust The Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 스마트 컨트랙트 배포 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://toplist.pilgrimjournalist.com team, along with other related topics such as: 스마트 컨트랙트 배포 이더리움 스마트 컨트랙트 배포, Truffle 스마트 컨트랙트 배포, 클레이튼 컨트랙트 배포, 스마트 컨트랙트 구현, 클레이튼 스마트 컨트랙트 예제, 스마트 컨트랙트 실행, 스마트 컨트랙트 인터페이스, 솔리디티 스마트 컨트랙트


이더리움 Dapp 개발 #3 | 스마트 컨트랙트 코딩하기
이더리움 Dapp 개발 #3 | 스마트 컨트랙트 코딩하기


3. 스마트컨트랙트 작성 후 배포하기

  • Article author: kimsfamily.kr
  • Reviews from users: 10920 ⭐ Ratings
  • Top rated: 3.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 3. 스마트컨트랙트 작성 후 배포하기 1. 스마트 계약의 시작, 리믹스 도구 사용해보기 2. 솔리디티 개발환경 구성 3. 스마트컨트랙트 작성 후 배포하기 4. openzeppelin 사용하여 ERC20 … …
  • Most searched keywords: Whether you are looking for 3. 스마트컨트랙트 작성 후 배포하기 1. 스마트 계약의 시작, 리믹스 도구 사용해보기 2. 솔리디티 개발환경 구성 3. 스마트컨트랙트 작성 후 배포하기 4. openzeppelin 사용하여 ERC20 … 1. 스마트 계약의 시작, 리믹스 도구 사용해보기 2. 솔리디티 개발환경 구성 3. 스마트컨트랙트 작성 후 배포하기 4. openzeppelin 사용하여 ERC20 토큰 만들기 5. Ropsten 테스트넷에 ERC20토큰 배포하기 6. web3..
  • Table of Contents:

태그

관련글

댓글12

전체 방문자

3. 스마트컨트랙트 작성 후 배포하기
3. 스마트컨트랙트 작성 후 배포하기

Read More

[클레이튼] smart contract 배포 과정 이해하기

  • Article author: doitnow-man.tistory.com
  • Reviews from users: 33661 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [클레이튼] smart contract 배포 과정 이해하기 블록체인에서의 smart contract 란? contract code를 compile하여 bytecode로 변경 후 blockchain의 body 안에 넣고 특정 조건이 되면 실행 하는것이 lock … …
  • Most searched keywords: Whether you are looking for [클레이튼] smart contract 배포 과정 이해하기 블록체인에서의 smart contract 란? contract code를 compile하여 bytecode로 변경 후 blockchain의 body 안에 넣고 특정 조건이 되면 실행 하는것이 lock … 개요 smart contract가 무엇인지 알아 본다. smart contract 정의 서면으로 이루어지던 계약을 code로 구현하고 특정 조건이 충족되었을 때 해당 계약이 이행되게 하는 script 입니다. 블록체인에서의 smart contr..it 개발 전문 블로거 [email protected]
  • Table of Contents:
[클레이튼] smart contract 배포 과정 이해하기

개요

smart contract 정의

블록체인에서의 smart contract 란

블록체인에서의 smart contract가  배포되는 방법

참조 사이트

티스토리툴바

[클레이튼] smart contract 배포 과정 이해하기
[클레이튼] smart contract 배포 과정 이해하기

Read More

스마트 컨트랙트 배포 – Klaytn Docs

  • Article author: ko.docs.klaytn.foundation
  • Reviews from users: 13985 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 스마트 컨트랙트 배포 – Klaytn Docs 트러플을 사용하여 스마트 컨트랙트 배포. truffle.js에 Klaytn의 네트워크 정보를 입력하세요. 경고 : 현재 Klaytn Baobab 네트워크의 가스 가격이 25 Gpeb으로 고정 … …
  • Most searched keywords: Whether you are looking for 스마트 컨트랙트 배포 – Klaytn Docs 트러플을 사용하여 스마트 컨트랙트 배포. truffle.js에 Klaytn의 네트워크 정보를 입력하세요. 경고 : 현재 Klaytn Baobab 네트워크의 가스 가격이 25 Gpeb으로 고정 …
  • Table of Contents:
스마트 컨트랙트 배포 - Klaytn Docs
스마트 컨트랙트 배포 – Klaytn Docs

Read More

[solidity] 스마트컨트랙트 배포하기

  • Article author: anweh.tistory.com
  • Reviews from users: 45854 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [solidity] 스마트컨트랙트 배포하기 스마트 컨트랙트 생성 순서. 1. 스마트 컨트랙트 코드 작성 (.sol). pragma solity ^0.8.0; // solcjs –version 로 버전확인 contract hello … …
  • Most searched keywords: Whether you are looking for [solidity] 스마트컨트랙트 배포하기 스마트 컨트랙트 생성 순서. 1. 스마트 컨트랙트 코드 작성 (.sol). pragma solity ^0.8.0; // solcjs –version 로 버전확인 contract hello … 스마트 컨트랙트 생성 순서 1. 스마트 컨트랙트 코드 작성 (.sol) pragma solidity ^0.8.0; // solcjs –version 로 버전확인 contract hello { string value; constructor(){ value = “hello solidity”; } // 파..
  • Table of Contents:

이것저것 기록

[solidity] 스마트컨트랙트 배포하기 본문

[solidity] 스마트컨트랙트 배포하기
[solidity] 스마트컨트랙트 배포하기

Read More

[Web3.js] Smart Contract 배포

  • Article author: lbm93.tistory.com
  • Reviews from users: 41526 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Web3.js] Smart Contract 배포 Contract 를 배포하는 과정과 사용하는 과정은 다음과 같습니다. Contract 배포 순서. Contract 작성 -> 컴파일 -> Contract 객체 생성(ABI포함) … …
  • Most searched keywords: Whether you are looking for [Web3.js] Smart Contract 배포 Contract 를 배포하는 과정과 사용하는 과정은 다음과 같습니다. Contract 배포 순서. Contract 작성 -> 컴파일 -> Contract 객체 생성(ABI포함) … 시작 전 Web3 version 저는 Web3 1.2.4v을 사용했습니다. Contract 를 배포하는 과정과 사용하는 과정은 다음과 같습니다. Contract 배포 순서 Contract 작성 -> 컴파일 -> Contract 객체 생성(ABI포함) -> Contra..
  • Table of Contents:
See also  Top 8 노트 3 유심 The 136 New Answer
[Web3.js]  Smart Contract 배포
[Web3.js] Smart Contract 배포

Read More

Smart Contract 배포하기 – Luniverse

  • Article author: docs.luniverse.io
  • Reviews from users: 18930 ⭐ Ratings
  • Top rated: 3.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Smart Contract 배포하기 – Luniverse 루니버에서는 GUI 를 통해 사이드 체인 (Se Chain) 에 스마트 컨트랙트 (Smart Contract) 를 배포하여 블록체인 트랜잭션 (Blockchain Transaction) 을 발생시킬 수 … …
  • Most searched keywords: Whether you are looking for Smart Contract 배포하기 – Luniverse 루니버에서는 GUI 를 통해 사이드 체인 (Se Chain) 에 스마트 컨트랙트 (Smart Contract) 를 배포하여 블록체인 트랜잭션 (Blockchain Transaction) 을 발생시킬 수 …
  • Table of Contents:

등록된 Contract Resource 를 불러오는 방법

외부에서 배포한 스마트 컨트랙트 (Smart Contract) 를 불러오는 방법

Private Authentication 처리

Authenticate by DEOA

Smart Contract 배포하기 - Luniverse
Smart Contract 배포하기 – Luniverse

Read More

[Blockchain] 이더리움 스마트 컨트랙트 배포하기(Remix)

  • Article author: about-tech.tistory.com
  • Reviews from users: 31430 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Blockchain] 이더리움 스마트 컨트랙트 배포하기(Remix) 이를 위해서는 먼저 솔리디티 언어로 스마트 컨트랙트를 작성한 후 solc로 컴파일한 후 abi와 bytecode를 배포합니다. Soldity 컴파일러 solc 설치. 우선 … …
  • Most searched keywords: Whether you are looking for [Blockchain] 이더리움 스마트 컨트랙트 배포하기(Remix) 이를 위해서는 먼저 솔리디티 언어로 스마트 컨트랙트를 작성한 후 solc로 컴파일한 후 abi와 bytecode를 배포합니다. Soldity 컴파일러 solc 설치. 우선 … 이더리움 블록체인 네트워크에 스마트 컨트랙트를 작성하여 배포할 수 있습니다. 이를 위해서는 먼저 솔리디티 언어로 스마트 컨트랙트를 작성한 후 solc로 컴파일한 후 abi와 bytecode를 배포합니다. Soldity 컴..
  • Table of Contents:

Soldity 컴파일러 solc 설치

스마트 컨트랙트 작성

컴파일 하는 방법

스마트 컨트랙트 배포하기

태그

관련글

댓글0

공지사항

최근글

인기글

태그

티스토리툴바

[Blockchain] 이더리움 스마트 컨트랙트 배포하기(Remix)
[Blockchain] 이더리움 스마트 컨트랙트 배포하기(Remix)

Read More

스마트 컨트랙트 배포 – KAS Docs

  • Article author: docs.klaytnapi.com
  • Reviews from users: 23879 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 스마트 컨트랙트 배포 – KAS Docs 이 페이지는 Wallet API로 스마트 컨트랙트 배포 트랜잭션을 Klaytn에 보내는 방법을 안내합니다. …
  • Most searched keywords: Whether you are looking for 스마트 컨트랙트 배포 – KAS Docs 이 페이지는 Wallet API로 스마트 컨트랙트 배포 트랜잭션을 Klaytn에 보내는 방법을 안내합니다. 이 페이지는 Wallet API로 스마트 컨트랙트 배포 트랜잭션을 Klaytn에 보내는 방법을 안내합니다.
  • Table of Contents:

API 호출

API 응답

API 호출

API 응답

API 호출

API 응답

스마트 컨트랙트 배포 - KAS Docs
스마트 컨트랙트 배포 – KAS Docs

Read More

스마트 컨트랙트 배포 – KAS Docs

  • Article author: medium.com
  • Reviews from users: 32759 ⭐ Ratings
  • Top rated: 4.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 스마트 컨트랙트 배포 – KAS Docs 다음으로는 클레이튼의 테스트넷인 바오밥에 스마트 컨트랙트를 배포해 보겠습니다. 1. 준비: 필요한 툴 준비. 일단 시작하기에 앞서 기본적으로 필요한 … …
  • Most searched keywords: Whether you are looking for 스마트 컨트랙트 배포 – KAS Docs 다음으로는 클레이튼의 테스트넷인 바오밥에 스마트 컨트랙트를 배포해 보겠습니다. 1. 준비: 필요한 툴 준비. 일단 시작하기에 앞서 기본적으로 필요한 … 이 페이지는 Wallet API로 스마트 컨트랙트 배포 트랜잭션을 Klaytn에 보내는 방법을 안내합니다.
  • Table of Contents:

API 호출

API 응답

API 호출

API 응답

API 호출

API 응답

스마트 컨트랙트 배포 - KAS Docs
스마트 컨트랙트 배포 – KAS Docs

Read More

Smart contract 배포를 위한 사전지식

  • Article author: velog.io
  • Reviews from users: 17040 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Smart contract 배포를 위한 사전지식 용어 정리ABI : 이더리움 생태계에서 블록체인 위의 스마트컨트랙트와 상호작용 하기 위해 컨트랙트의 함수와 매개변수들을 JSON 형식으로 나타낸 것. …
  • Most searched keywords: Whether you are looking for Smart contract 배포를 위한 사전지식 용어 정리ABI : 이더리움 생태계에서 블록체인 위의 스마트컨트랙트와 상호작용 하기 위해 컨트랙트의 함수와 매개변수들을 JSON 형식으로 나타낸 것. 용어 정리ABI : 이더리움 생태계에서 블록체인 위의 스마트컨트랙트와 상호작용 하기 위해 컨트랙트의 함수와 매개변수들을 JSON 형식으로 나타낸 것.툴 정리Alchemy: 이더리움 블록체인 개발을 위한 API 노드 서비스를 제공. 이더리움 메인 넷과 테스트 넷을 지원한
  • Table of Contents:
Smart contract 배포를 위한 사전지식
Smart contract 배포를 위한 사전지식

Read More


See more articles in the same category here: Toplist.pilgrimjournalist.com/blog.

3. 스마트컨트랙트 작성 후 배포하기

1. 스마트 계약의 시작, 리믹스 도구 사용해보기

2. 솔리디티 개발환경 구성

3. 스마트컨트랙트 작성 후 배포하기

4. openzeppelin 사용하여 ERC20 토큰 만들기

5. Ropsten 테스트넷에 ERC20토큰 배포하기

6. web3.js 와 자바스크립트를 활용한 간단한 예제

7. 솔리디티 기초, 리믹스로 컨트랙트 작성하기

8. 솔리디티 기본문법 (변수, 데이터타입, 구조체)

9. 솔리디티 배열, 맵핑

10. 솔리디티 조건문, 반복문(if, else, for)

11. 솔리디티 암호화폐 지불(호텔룸 예약하기 프로그램)

12. 솔리디티 상속

13. 리믹스 솔리디티 6.0 버전 ERC20토큰 만들기

14. web3.js 와 자바스크립트를 활용하여 (이더잔액조회) 지갑 만들기

15. 솔리디티 컨트랙트 Web.js 활용하여 웹으로 보여주기

1. openzeppelin 라이브러리 설치하기

openzeppelin라이브러리는 기본적이고 많이 사용되는 smartcontract코드를 모아놓은 라이브러리입니다.

이미 잘 짜여진 코드가 있는데 힘겹게 다시 코딩할 필요는 없습니다. 항상 최신의 문제 없는 라이브러리를 잘 찾아서 사용하는 방법을 아는게 중요합니다.

1) smartcontract 폴더 생성

2) truffle init

3) npm init -y

4) npm install -E openzeppelin-solidity

네, 이제 openzeppelin-solidity 라이브러리가 설치되었습니다.

이제 ATOM 에디터로 해당 폴더를 열어봅니다. 아래와 같은 폴더구조를 보실 수 있습니다.

간략하게 설명을 하면,

– contracts : 실제 우리가 solidity언어로 스마트컨트랙트를 작성하는 공간입니다.

– mgrations : contracts 폴더에서 작업한 코드를 블록체인에 deploy하기 위한 코드

– node_modules : 스마트컨트랙트 개발에 필요한 라이브러리

– test : 테스트를 위한 폴더

– truffle-config.js 통신을 위한 설정부분.

통신을 위해서 truffle-config.js 부분의 소스를 아래와 같이 수정해줍니다.

development: { host: “127.0.0.1”, // Localhost (default: none) port: 8545, // Standard Ethereum port (default: none) network_id: “*”, // Any network (default: none) },

그리고 아래에 컴파일 버전도 아래와 같이 수정해줍니다.

2. 스마트컨트랙트 작성해보기

이제 본격적인 준비작업은 끝났으니, 간단한 스마트컨트랙트를 직접작성해봅시다.

1. Test.sol 파일 작성

contract 폴더 안에 Test.sol 파일을 작성합니다.

그리고 아래와 같은 코드를 입력해주세요!!

pragma solidity ^0.5.2; // solidity 0.5.2 버전을 사용 contract TEST { // contract 이름을 TEST로 지정 string public constant name = “TEST token”; // 토큰의 이름은 TEST token string public constant symbol = “TEST”; // TEST라는 이름을 사용 uint public constant decimals = 18; // 소수점 18자리까지 사용하겠음 uint public constant INITIAL_SUPPLY = 1000 * 10 ** decimals; // 초기 발행량은 1000.000000000000000000 (소수점 18자리까지사용) string constant test = “You can not see this”; // public 표시가 없는 경우 해당 문구 볼 수 없음. }

– 변수 선언시 public를 하지 않으면 외부에서 해당 변수를 찾을 수 없음.

– constant : 변하지 않는 변수 선언.

– public : 누구나 확인 할 수 있는 변수 선언.

– string : 문자열

– uint : unsigned integer (부호(+,-) 없는 정수- 양수 범위를 2배로 늘리게 됨, 즉 이진수와 같은 십진수가 됨)

2. 배포 코드 작성하기

migration폴더에 아래와 같이 2_Test_Migration.js 파일을 생성합니다.

위에 작성한 Test.sol 코드를 블록체인에 올리기 위해서 해당 파일을 작성하는겁니다.

아래와 같이 코딩해줍니다.

const TestToken = artifacts.require(“./Test”); module.exports = function(deployer){ deployer.deploy(TestToken); };

3. 컨트랙트 배포하기

먼저 ganache-cli 를 실행합니다.

이후 truffle migrate 명령어를 실행합니다.

제일 아래에 우리가 작성한 2_Test_Migration.js 스마트컨트랙트 파일이 블록체인에 업로드 된걸 확인할 수 있습니다.

위에 보면 contract address가 나오는데, 이 주소를 기반으로 TEST라는 스마트컨트랙트와 통신이 가능합니다.

그리고 아톰에디터를 보면, build폴더에 TETS.json 파일이 생성된걸 확인할 수 있습니다.

이 코드파일에서 “abi”: 라고 되어 있는 부분이 있습니다.

이 ABI는 애플리케이션 바이너리 인터페이스(Application Binary Interface)라고 부릅니다.

모든 외부, 공개 함수의 선언 및 파라미터, 반환유형으로 구성된 인터페이스인데요.

ABI에서 계약을 정의하고, 계약함수를 호출하고자 하는 호출자는 ABI를 사용할 수 있습니다.

그리고 소스 조금 아래로 내려와보면, “deployedBytecode” 부분이 있는데요. 계약을 배포하기 위해서 이 바이트코드가 필요합니다.

정리하면,

계약의 배포를 위해서 바이트코드가 필요하고,

계약의 함수를 호출하기 위해서 ABI가 필요합니다.

계약을 배포하는 것 자체가 블록체인에서는 거래이기 때문에 계약을 배포했다는 건 거래가 생성된걸로 간주합니다. 즉 바이트코드와 ABI는 계약을 배포하기 위해서 가장 중요한 2가지 요소입니다.

4. 스마트컨트랙트와 통신하기

이번에는 ABI를 통해서 스마트컨트랙트와 통신하는 방법을 알아보겠습니다.

기존에 설치했던 myetherwallet을 엽니다.

왼쪽 메뉴에 보면, Contract – Interact with Contract 메뉴가 있습니다.

Contract Address에는 truffle migrate를 통해서 얻은 컨트랙트주소를 입력합니다.

저의 경우에는 아래에 contract address에 해당하는 x5af58f7b22dd98238a2e27725903d6db96190a07ab5f90cb28d47c7ca258da50를 사용합니다.

아래 ABI/JSON Interface에는 abi를 입력해줍니다.

ATOM 에디터 TEST.json 파일에서 “abi”: 오른쪽 [ 부터~ ] 까지 복사, 붙여넣기 합니다.

제가 복사&붙여넣기 한 ABI 소스는 아래와 같습니다.

[ { “constant”: true, “inputs”: [], “name”: “INITIAL_SUPPLY”, “outputs”: [ { “internalType”: “uint256”, “name”: “”, “type”: “uint256” } ], “payable”: false, “stateMutability”: “view”, “type”: “function” }, { “constant”: true, “inputs”: [], “name”: “decimals”, “outputs”: [ { “internalType”: “uint256”, “name”: “”, “type”: “uint256” } ], “payable”: false, “stateMutability”: “view”, “type”: “function” }, { “constant”: true, “inputs”: [], “name”: “name”, “outputs”: [ { “internalType”: “string”, “name”: “”, “type”: “string” } ], “payable”: false, “stateMutability”: “view”, “type”: “function” }, { “constant”: true, “inputs”: [], “name”: “symbol”, “outputs”: [ { “internalType”: “string”, “name”: “”, “type”: “string” } ], “payable”: false, “stateMutability”: “view”, “type”: “function” } ]

이걸 myetherwalle 아래의 그림과 같이 붙여넣기 해줍니다.

Continue를 클릭하면, 우리가 작성한 스마트컨트랙트 기능을 확인할 수 있습니다.

오른쪽에 작성된 아이템을 하나씩 클릭해보면,

초기공급량, Deciminals, 토큰 이름, 토큰 심볼까지 모두 아래와 같이 나오는걸 확인할 수 있습니다.

처음에 작성된 코드가 아래 코딩임을 다시 한번 상기해보신다면,

마지막에 public을 사용하지 않은 string 배열 test인 “you can not see this”는 표시되지 않은걸 확인 할 수 있습니다.

나머지는 모두 위와 같이 스마트컨트랙트에 정상적으로 배포가 되었네요.

반응형

[클레이튼] smart contract 배포 과정 이해하기

728×90

반응형

개요

smart contract가 무엇인지 알아 본다.

smart contract 정의

서면으로 이루어지던 계약을 code로 구현하고 특정 조건이 충족되었을 때 해당 계약이 이행되게 하는 script 입니다.

블록체인에서의 smart contract 란?

contract code를 compile하여 bytecode로 변경 후 blockchain의 body 안에 넣고 특정 조건이 되면 실행 하는것이 lock chain에서는 smart contract 입니다.

블록체인에서의 smart contract가 배포되는 방법

[smart contract 배포 도식]

smart contract 배포 도식

1. smart contract code compile 과정 및compile 결과물 설명

– smart contract를 배포 하는 것은 solitidy 언어로 smart contract code를 생성하고 이를 compile하여 block chain에

배포하는것을 말합니다.

* 배포는 IDE에서 제공하는 버튼을 이용하면 손쉽게 배포가 가능 합니다.

1) https://ide.klaytn.com/ 에서 smart contract code를 작성 한 후 compile하여 배포 한다.

// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.4; contract Contract1 { address public owner; constructor() { owner = msg.sender; } bytes32[] proposalNames; function beforeAll (uint256 num) public { proposalNames.push(bytes32(“candidate1”)); proposalNames.push(bytes32(num)); } }

2) 배포시 생성되는 전체 결과물

– 다음은 IDE에서 배포 후 보여주는 결과물 전체 항목 입니다.

3) 생성된 배포 결과물 핵심 정보

(1) byte code

정의

– block chain에 deploy될 smart contract의 byte code 입니다.

사용 시기

– block chain에 배포될 때 사용 됩니다.

형태

– solidity로 작성한 code를 compile한 결과물 16진수로 이루어져있습니다.

byte code

(2) Function signature

정의

– function name과 parameter를 sha-3를 이용해서 만든 4byte signature 입니다.

사용 시기

– Contract의 function을 실행 시키기 위해서 사용 됩니다.

Contract 의 함수를 실행시키기 위해서는 Transaction 의

to: 주소에는 Contract Address

input data: 에는 function signature 4byte 함께 paramete vaule값을 16진수로하여 32byte

길이로하여 입력하면 됩니다

function signautre 생성 구조

Ex) 실제 호출 payload

– Function : baz(uint32 x, bool y)

baz는 uint32와 bool로 정적인 type 을 인수로 갖는 함수입니다.

69, true 인수로 function를 call한다고 하면 encoding data는 다음과 같습니다.

– function signatue = 0xcdcd77c0

– 인수1 69 = 0000000000000000000000000000000000000000000000000000000000000045

– 인수2 true = 0000000000000000000000000000000000000000000000000000000000000001

// 인코딩 데이터 0xcdcd77c000000000000000000000000000000000000000000000000000000000000045 0000000000000000000000000000000000000000000000000000000000000001

(3) ABI (Application Binary Interface)

정의

– 특정 언어나 플랫폼에 종속되지 않은 방식으로 기술된 Application Interface 에 대한 정의입니다.

– Smart Contract 의 function과 parameter에 대한 MetaData를 정의해

Contract의 객체를 만들 수 있고 Contract의 함수를 호출할 수 있는 표준방법입니다.

사용 시기

– 이 ABI 를 갖고 JavaScript 언어 기반의 어플리케이션을 만들 때 객체를 만들게 할 수 있고, 쉽게 그 객체의

Method를 호출하는것 만으로 Contract 의 함수가 호출되도록 할 수 있는 것이다. 현재 Ethereum은

web3.js 와함께 JavaScript 응용에서 쉽게 ABI 로 객체를 만들어 사용하도록 지원하며, 1.4.0 이후의

go-ethereum 에서는 Go Native 언어 기반의 응용에서 Smart Contract 를 쉽게 Binding 가능하도록

ABI 기반으로 Go Code 를 생성 해주는 ABIGen 을 제공하고 있다.

smart contract에 정의된 function의 ABI 형태

참조 사이트

https://medium.com/haechi-audit-kr/smart-contract-a-to-z-79ebc04d6c86

https://goodjoon.tistory.com/261

https://docs.soliditylang.org/en/latest/solidity-by-example.html#id2

https://medium.com/linum-labs/a-technical-primer-on-using-encoded-function-calls-50e2b9939223

https://muyu.tistory.com/entry/Ethereum-ABI-%EC%9D%B8%EC%BD%94%EB%94%A9-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0

728×90

반응형

[solidity] 스마트컨트랙트 배포하기

스마트 컨트랙트 생성 순서

1. 스마트 컨트랙트 코드 작성 (.sol)

pragma solidity ^0.8.0; // solcjs –version 로 버전확인 contract hello { string value; constructor(){ value = “hello solidity”; } // 파일에 저장된 내용을 가져올 것인지? storage // 메모리에 저장된 내용을 가져올 것인지? memory function get() public view returns(string memory){ return value; } //solcjs –bin –abi .\hello.sol // 파일명_확장자_컨트랙트명 }

hello_sol.sol로 저장해준다

2. 스마트 컨트랙트 코드 컴파일

해당 컨트랙트가 위치한 경로로 이동해서 컴파일 해야함

solcjs –abi –bin [파일명]

성공적으로 컴파일 되었다면, 해당 폴더 안에 .abi, .bin파일이 생성되어야 함 abi (Application Binary Interface) : 1에서 작성한 스마트 컨트랙트 코드의 설명이 담긴 JSON 파일 bin : 바이너리 파일

3. 컴파일 결과를 배포

‘배포’한다라는 것은 블록체인 상에 컴파일한 스마트컨트랙트의 ByteCode를 Transaction에 실어 블록에 포함시킨 상태 (출처: https://lbm93.tistory.com/8

hello_sol.sol이 위치한 폴더에 hello_sol.js 파일 생성, 다음과 같이 입력 (출처: https://velog.io/@wlgus2134

onst Web3 = require(‘web3’) let connection = new Web3(‘http://127.0.0.1:8545’) // abi파일에 있는 정보들을 JSON형식으로 변형해서 ABI_CODE변수에 담아줌 const ABI_CODE = JSON.parse(‘[{“inputs”:[],”stateMutability”:”nonpayable”,”type”:”constructor”},{“inputs”:[],”name”:”get”,”outputs”:[{“internalType”:”string”,”name”:””,”type”:”string”}],”stateMutability”:”view”,”type”:”function”}]’); // bin 파일에 있는 정보들을 ”으로 감싸서 BYTECODE 변수에 담아줌 // bin 파일에 있는 것을 복붙하세요. const BYTECODE = ‘ ‘ const contract = new connection.eth.Contract(ABI_CODE) contract.deploy({ data:BYTECODE }) // from 안에 Ganache를 돌려서 얻었던 Available Accounts중 하나를 ”로 감싸서 입력 // Gas(수수료)는 Gas Limit에 입력되어있던 6721975로 설정 .send({ from:’0x11eeC4232900708324D58ebca115566a02F59Ddd’, // ganache-cli –host 0.0.0.0 입력 후 아무거나 선택 gas:’6721975′ },(error,result)=>{ console.log(error) }) .then( data =>{ console.log(data.options.address) })

터미널 창을 열어 다음 명령어 입력

node hello_sol.js

로컬 virtual 지갑을 생성하고 있는 ganache cmd창을 확인해보면, 다음과 같이 sendTransaction 결과가 나와있다.

얼렁뚱땅 따라하긴했는데 100% 이해가 안된다…

파이썬이 엄청 편한 언어였구나…

So you have finished reading the 스마트 컨트랙트 배포 topic article, if you find this article useful, please share it. Thank you very much. See more: 이더리움 스마트 컨트랙트 배포, Truffle 스마트 컨트랙트 배포, 클레이튼 컨트랙트 배포, 스마트 컨트랙트 구현, 클레이튼 스마트 컨트랙트 예제, 스마트 컨트랙트 실행, 스마트 컨트랙트 인터페이스, 솔리디티 스마트 컨트랙트

Leave a Comment