메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://injectivelabs-mintlify-jp-developers-first-half-1777019423.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

사전 요구 사항

Foundry 프로젝트가 이미 설정되어 있고 스마트 컨트랙트가 성공적으로 배포되어 있어야 합니다. 방법은 Foundry로 스마트 컨트랙트 배포 튜토리얼을 참조하세요. 선택 사항이지만 강력히 권장: 스마트 컨트랙트를 성공적으로 검증했어야 합니다. 방법은 Foundry로 스마트 컨트랙트 검증 튜토리얼을 참조하세요.

함수 호출 - 쿼리

쿼리는 읽기 전용 작업입니다. 따라서 스마트 컨트랙트 상태는 업데이트되지 않습니다. 상태 변경이 필요하지 않으므로 지갑, 서명 또는 트랜잭션 수수료(가스)가 필요하지 않습니다. 다음 명령을 사용하여 value() 함수를 쿼리합니다:
cast call \
  --rpc-url injectiveEvm \
  ${SC_ADDRESS} \
  "value()"
${SC_ADDRESS}를 스마트 컨트랙트를 배포한 주소로 바꾸세요. 예를 들어 스마트 컨트랙트 주소가 0x213ba803265386c10ce04a2caa0f31ff3440b9cf인 경우 명령은 다음과 같습니다:
cast call \
  --rpc-url injectiveEvm \
  0x213ba803265386c10ce04a2caa0f31ff3440b9cf \
  "value()"
다음이 출력됩니다.
0x0000000000000000000000000000000000000000000000000000000000000000
0x00000000000000000000000000000000000000000000000000000000000000000을 의미합니다. 이것은 Solidity의 uint256(스마트 컨트랙트의 value() 함수의 반환 유형)에 대한 16진수 원시 표현입니다.

함수 호출 - 트랜잭션

트랜잭션은 쓰기 작업입니다. 따라서 스마트 컨트랙트 상태가 업데이트됩니다. 상태 변경이 발생할 수 있으므로 트랜잭션은 지갑으로 서명해야 하며 트랜잭션 수수료(가스)를 지불해야 합니다. 다음 명령을 사용하여 increment(num) 함수를 트랜잭션합니다.
cast send \
  --legacy \
  --rpc-url injectiveEvm \
  --gas-price 160000000 \
  --gas-limit 2000000 \
  --account injTest \
  ${SC_ADDRESS} \
  "increment(uint256)" \
  1
가스 가격은 wei로 표시됩니다. 1 wei = 10^-18 INJ.
${SC_ADDRESS}를 스마트 컨트랙트를 배포한 주소로 바꾸세요. 예를 들어 스마트 컨트랙트 주소가 0x213ba803265386c10ce04a2caa0f31ff3440b9cf인 경우 명령은 다음과 같습니다:
cast send \
  --legacy \
  --rpc-url injectiveEvm \
  --gas-price 160000000 \
  --gas-limit 2000000 \
  --account injTest \
  0x213ba803265386c10ce04a2caa0f31ff3440b9cf \
  "increment(uint256)" \
  1
성공하면 다음과 유사한 결과가 생성됩니다:
Enter keystore password:
blockHash            0xe4c1f5faafc5365c43678135d6adc87104f0e288cddfcdffeb2f5aa08282ca22
blockNumber          83078201
contractAddress
cumulativeGasUsed    43623
effectiveGasPrice    160000000
from                 0x58f936cb685Bd6a7dC9a21Fa83E8aaaF8EDD5724
gasUsed              43623
logs                 []
logsBloom            0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
root
status               1 (success)
transactionHash      0x3c95e15ba24074301323e09d09d5967cc2858e255d1fdfd912758fd8bbd353b4
transactionIndex     0
type                 0
blobGasPrice
blobGasUsed
to                   0x213bA803265386C10CE04a2cAa0f31FF3440b9cF
상태를 업데이트한 후 새 상태를 쿼리할 수 있습니다. 결과는 상태 변경을 반영합니다.
cast call \
  --rpc-url injectiveEvm \
  ${SC_ADDRESS} \
  "value()"
이번에는 0 + 1 = 1이므로 결과가 0x0000000000000000000000000000000000000000000000000000000000000001이어야 합니다.
0x0000000000000000000000000000000000000000000000000000000000000001

다음 단계

축하합니다. Foundry를 사용하여 Injective에서 EVM 스마트 컨트랙트를 개발하는 전체 가이드를 완료했습니다! 스마트 컨트랙트는 비기술 사용자에게 사용자 경험을 제공하지 않습니다. 이들을 위해 탈중앙화 애플리케이션을 구축해야 합니다. 이를 위해 첫 번째 dApp 가이드를 확인하세요!
Last modified on April 24, 2026