-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
스마트 계약 ABI (Application Binary Interface) 란 무엇입니까?
The ABI acts as a bridge between high-level smart contract code and the EVM, enabling seamless interaction with deployed contracts through structured function definitions.
2025/07/07 10:36
스마트 계약 ABI의 기본 이해
스마트 계약 의 세계, 특히 이더 리움 및 기타 EVM 호환 블록 체인 내에서 ABI (Application Binary Interface)라는 용어는 중요한 역할을합니다. ABI 는 본질적으로 이진 수준에서 스마트 계약과 상호 작용하는 방법을 정의하는 사양입니다. Solidity 또는 Vyper와 같은 고급 프로그래밍 언어와 EVM (Ethereum Virtual Machine)에서 실행되는 저수준 바이트 코드 사이의 다리 역할을합니다. ABI가 없으면 외부 응용 프로그램은 기능을 호출하거나 배포 된 스마트 계약에서 데이터를 읽을 수 없습니다.
ABI에는 이름, 입력 매개 변수, 출력 유형을 포함하여 계약의 각 기능에 대한 자세한 정보가 포함되어 있습니다. 이 구조화 된 형식은 개발자와 분산 응용 프로그램이 블록 체인 기반 계약과 원활하게 통신 할 수 있도록합니다.
스마트 계약 ABI의 구조 및 구성 요소
일반적인 ABI 정의는 각 요소가 스마트 계약의 함수 또는 이벤트에 해당하는 JSON 배열로 표시됩니다. 각 항목에는 여러 주요 필드가 포함됩니다.
- 이름 : 함수 또는 이벤트의 이름.
- 유형 : '기능', '이벤트'또는 '오류'가 될 수 있습니다.
- 입력 : 입력 매개 변수 (함수의 경우) 또는 인덱스 된 주제 (이벤트)를 설명하는 객체 배열.
- 출력 : 함수의 경우 반환되는 값을 설명합니다.
- 법정 : 함수가 상태 ( '지불 할 수없는', '지불 가능')가 변경되는지 또는 변경하지 않는지 ( '보기', '순수한')를 나타냅니다.
예를 들어 간단한 기능을 고려하십시오.
function add(uint a, uint b) public pure returns (uint) 해당 ABI 항목 에는 이름 add , 유형 function , 유형 uint256 의 a 및 b 에 대한 입력 및 단일 uint256 반환하는 출력이 포함됩니다.
개발자가 실제로 ABI를 사용하는 방법
스마트 계약을 배포하거나 상호 작용할 때 개발자는 일반적으로 SOLC 또는 Remix IDE 와 같은 도구를 사용하여 Solidity 코드를 컴파일합니다. 이 도구는 바이트 코드 (블록 체인에 배포 됨)와 ABI 파일 (상호 작용에 오프 체인)의 두 가지 주요 파일을 생성합니다.
웹 응용 프로그램에서 배포 된 계약에서 함수를 호출하려면 개발자는 ethers.js 또는 web3.js 와 같은 라이브러리를 사용합니다. 이 라이브러리에는 계약 ABI 와 계약 주소가 인터페이스 객체를 생성해야합니다. 일단 생성되면 개발자는 기능을 호출하거나 계약에 의해 방출 된 이벤트를들을 수 있습니다.
ethers.js를 사용하는 단순화 된 워크 플로입니다.
- ABI를 JavaScript 환경에로드하십시오.
- 이더 리움 제공 업체 (Infura 또는 Alchemy)에 연결하십시오.
- ABI 및 계약 주소를 사용하여 계약 인스턴스를 만듭니다.
- 인스턴스를 사용하여 계약 방법으로 거래를 호출하거나 보냅니다.
이 프로세스를 사용하면 분산 응용 프로그램과 블록 체인 로직 간의 원활한 통합이 가능합니다.
ABI 파일 생성 및 추출
ABI를 생성하기 위해 개발자는 종종 견고성 컴파일러 또는 개발 프레임 워크에 의존합니다. 다음은 SOLC를 사용하여 수동으로 ABI를 추출하는 단계입니다.
- NPM (
npm install -g solc)을 통해 Solidity 컴파일러를 설치하십시오. -
.sol파일로 견고성 계약을 저장하십시오. - 컴파일 명령 실행 :
solcjs --abi YourContract.sol - 결과 파일의 이름은
YourContract_sol_YourContract.abi로 명명됩니다.
Hardhat 또는 Truffle을 사용하여 npx hardhat compile 실행 한 후 ABI는 artifacts 디렉토리 내부에서 자동으로 생성됩니다. 아래에서 찾을 수 있습니다.
artifacts/contracts/YourContract.sol/YourContract.json이 JSON 파일에는 ABI 와 바이트 코드가 모두 포함되어있어 프로그래밍 방식으로 계약을 쉽게 배포하고 상호 작용할 수 있습니다.
ABI와 함께 일할 때 일반적인 실수
개발자가 직면 한 가장 일반적인 문제 중 하나는 일치하지 않는 ABI 입니다. 프론트 엔드에 사용 된 ABI가 배포 된 계약과 일치하지 않으면 함수 호출이 실패하거나 예기치 않은 결과를 반환 할 수 있습니다. 이것은 다음과 같은 경우에 일어날 수 있습니다.
- ABI를 업데이트하지 않고 새 버전의 계약을 배포합니다.
- 잘림 또는 불완전한 ABI 파일 사용.
- ABI를 수동으로 복사하고 JSON 구조의 부품이 누락됩니다.
또 다른 빈번한 문제는 ABI 에서 튜플 유형 또는 어레이를 잘못 처리하는 것입니다. 개발자는 계약 대응을 읽을 때 복잡한 반환 유형이 올바르게 디코딩되도록해야합니다. Ethers.js 와 같은 라이브러리는 내장 디코딩 메커니즘을 제공하지만 부적절한 사용으로 인해 런타임 오류가 발생할 수 있습니다.
또한 이벤트와 로그는 ABI 에 의존하여 적절한 디코딩을 위해 의존합니다. 이벤트의 ABI가 누락되거나 잘못된 경우 블록 체인에서 검색된 로그 데이터를 의미있게 구문 분석 할 수 없습니다.
ABI 인코딩 및 디코딩이 설명되었습니다
스마트 계약에서 함수가 호출되면 거래의 일부로 전송되기 전에 ABI 사양 에 따라 인수를 인코딩해야합니다. 마찬가지로 함수가 값을 반환하면 응답을 다시 읽을 수있는 데이터로 다시 디코딩해야합니다.
인코딩은 데이터 유형을 기반으로 특정 규칙을 따릅니다. 예를 들어:
- UINT256 값은 32 바이트로 패딩됩니다.
- 문자열 과 바이트는 길이와 실제 데이터로 인코딩됩니다.
- 배열 및 스트러크는 엄격한 정렬 규칙에 따라 재귀 적으로 인코딩됩니다.
디코딩은 반대로 작동합니다. 트랜잭션 영수증 또는 호출 결과가 수신되면 ABI 디코더는 기능 서명 및 반환 유형을 사용하여 원시 바이트를 의미있는 값으로 구문 분석합니다. 블록 체인 데이터를 정확하게 해석 해야하는 오프 체인 시스템 으로 작업 할 때 특히 중요합니다.
ethers.utils.abicoder 와 같은 라이브러리는 데이터를 수동으로 인코딩하고 디코딩하는 유틸리티를 제공합니다. 이는 사용자 정의 서명 또는 배치 트랜잭션과 같은 고급 사용 사례에 유용합니다.
자주 묻는 질문 (FAQ)
다른 버전의 계약에 동일한 ABI를 사용할 수 있습니까? 아니요, 계약의 각 버전에는 고유 한 ABI가 있어야합니다. 기능 이름, 매개 변수 또는 반환 유형의 변경 사항 ABI가 변경되며 구식 ABI를 사용하면 잘못된 상호 작용이나 실패가 발생할 수 있습니다.
이더 리움에서 배치 된 계약의 ABI는 어디에서 찾을 수 있습니까? Etherscan과 같은 블록 탐색기에서 ABI를 검색 할 수 있습니다. 계약 주소로 이동하여 계약 탭을 클릭하고 계약 읽기 또는 계약 섹션을 찾으십시오. 일부 계약은 또한 API 또는 문서를 통해 공개적으로 ABI를 게시합니다.
계약 배치에 ABI가 필요합니까? 아니요, 배포 중에 ABI가 필요하지 않습니다. 배포는 바이트 코드 만 필요합니다. 그러나 ABI는 외부 애플리케이션에서 배포 된 계약과 상호 작용하는 데 필수적이됩니다.
계약의 ABI를 잃으면 어떻게됩니까? ABI 에 액세스 할 수없는 경우 표준 도구를 사용하여 계약과 상호 작용할 수 없습니다. 경우에 따라 계약 소스 코드를 검사하거나 디 컴파일러를 사용하여 ABI를 재구성 할 수 있지만 항상 신뢰할 수있는 것은 아닙니다.
부인 성명:info@kdj.com
제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!
본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.
- Bitcoin, eCash Fork 및 Airdrop Dynamics: 암호화폐의 최신 논란에 대한 심층 분석
- 2026-05-03 12:55:01
- 2026년 마이애미 컨센서스: Web3, 블록체인, 암호화폐, NFT, 메타버스, 컨퍼런스, 5월 5일 — 월스트리트가 디지털 프론티어를 만나는 곳
- 2026-05-02 12:45:01
- 연준은 금리를 안정적으로 유지하여 지정학적 긴장 속에서 비트코인 가격 하락을 촉발했습니다
- 2026-05-01 06:45:01
- 비트코인 채굴자들이 전력망을 전기화하다: 오하이오 가스 공장 인수로 디지털 금의 새로운 시대가 열리다
- 2026-05-01 00:45:01
- MegaETH의 MEGA 토큰이 빅 애플을 강타했습니다: 실시간 블록체인을 위한 새로운 성능 벤치마크 설정
- 2026-05-01 00:55:01
- 솔라나의 미끄러운 경사: 가격 예측은 저항 손실 및 추가 하락 가능성을 지적합니다.
- 2026-05-01 06:45:01
관련 지식
암호화폐 에어드랍에 참여하는 방법은 무엇입니까? (무료 토큰)
2026-04-11 05:59:35
에어드롭 메커니즘 이해 1. 에어드롭은 특정 온체인 또는 오프체인 행동에 대한 보상을 위해 블록체인 프로젝트에서 시작된 기본 토큰의 프로토콜 수준 배포입니다. 2. 자격은 Ethereum, Base 또는 Solana와 같은 지정된 네트워크에서 지갑 잔액, 거래 내역 또...
실제세계자산(RWA) 토큰화란 무엇입니까? (시장동향)
2026-04-10 19:20:06
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...
암호화폐에서 피싱 사기를 피하는 방법은 무엇입니까? (사이버보안)
2026-04-15 07:00:14
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...
코인과 토큰의 차이점은 무엇인가요? (자산 유형)
2026-04-12 21:40:28
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 블록 보상이 대략 210,000블록마다 또는 대략 4년마다 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 2024년 4월 반감기 이벤트 이후 현재 블록 보상은 블록당 3.125 BTC입니다. 3. ...
스마트 계약 감사를 확인하는 방법은 무엇입니까? (안전성 검증)
2026-04-11 14:00:26
시장 변동성 패턴 1. Bitcoin 가격 변동은 주요 거시경제 발표가 진행되는 동안 24시간 이내에 15%를 초과하는 경우가 많습니다. 2. 알트코인 지수는 BTC에 비해 더 높은 베타 계수를 보여 유동성 충격 동안 이익과 손실을 모두 증폭시킵니다. 3. 갑작스런 충...
Ledger 하드웨어 지갑을 사용하는 방법은 무엇입니까? (장치 설정)
2026-04-21 12:40:18
시장 변동성 패턴 1. Bitcoin 가격 변동은 주요 거시경제 발표가 진행되는 동안 24시간 이내에 15%를 초과하는 경우가 많습니다. 2. 약세장 단계에서 BTC가 0.92 이상 급등하면서 알트코인의 상관관계가 독립적인 움직임을 압축합니다. 3. 펀딩율이 3시간 연...
암호화폐 에어드랍에 참여하는 방법은 무엇입니까? (무료 토큰)
2026-04-11 05:59:35
에어드롭 메커니즘 이해 1. 에어드롭은 특정 온체인 또는 오프체인 행동에 대한 보상을 위해 블록체인 프로젝트에서 시작된 기본 토큰의 프로토콜 수준 배포입니다. 2. 자격은 Ethereum, Base 또는 Solana와 같은 지정된 네트워크에서 지갑 잔액, 거래 내역 또...
실제세계자산(RWA) 토큰화란 무엇입니까? (시장동향)
2026-04-10 19:20:06
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...
암호화폐에서 피싱 사기를 피하는 방법은 무엇입니까? (사이버보안)
2026-04-15 07:00:14
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...
코인과 토큰의 차이점은 무엇인가요? (자산 유형)
2026-04-12 21:40:28
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 블록 보상이 대략 210,000블록마다 또는 대략 4년마다 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 2024년 4월 반감기 이벤트 이후 현재 블록 보상은 블록당 3.125 BTC입니다. 3. ...
스마트 계약 감사를 확인하는 방법은 무엇입니까? (안전성 검증)
2026-04-11 14:00:26
시장 변동성 패턴 1. Bitcoin 가격 변동은 주요 거시경제 발표가 진행되는 동안 24시간 이내에 15%를 초과하는 경우가 많습니다. 2. 알트코인 지수는 BTC에 비해 더 높은 베타 계수를 보여 유동성 충격 동안 이익과 손실을 모두 증폭시킵니다. 3. 갑작스런 충...
Ledger 하드웨어 지갑을 사용하는 방법은 무엇입니까? (장치 설정)
2026-04-21 12:40:18
시장 변동성 패턴 1. Bitcoin 가격 변동은 주요 거시경제 발표가 진행되는 동안 24시간 이내에 15%를 초과하는 경우가 많습니다. 2. 약세장 단계에서 BTC가 0.92 이상 급등하면서 알트코인의 상관관계가 독립적인 움직임을 압축합니다. 3. 펀딩율이 3시간 연...
모든 기사 보기














