๐ง HIP‑1217: Hedera /api/v1/contracts/call ์๋ํฌ์ธํธ ์ฃผ์ ์ ๋ฐ์ดํธ
HIP‑1217์ Hedera ๋ฏธ๋ฌ ๋
ธ๋ API ์๋ํฌ์ธํธ
/api/v1/contracts/call์ ๋ํ ์ฃผ์ ๊ฐ์ ์ฌํญ์ ์ค๋ช
ํฉ๋๋ค. ์ด๋ฒ ์
๋ฐ์ดํธ๋ ๋ชจ๋ํ๋ ์คํ ํ๋ฆ์ ๋์
ํ์ฌ Consensus ๋
ธ๋์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์๋ํ๋๋ก ์กฐ์ ๋์ด, ๋ ์ ํํ๊ณ ์ ๋ขฐํ ์ ์๋ ์ค๋งํธ ๊ณ์ฝ ์คํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
❓ ์ ๋ฐ๋๋ ๊ฑธ๊น์?
๊ธฐ์กด์๋ Hedera EVM (์ด๋๋ฆฌ์ ๊ฐ์ ๋จธ์ )์ด ๋จ์ผ(monolithic) ๊ตฌ์กฐ๋ก ์ด์๋ผ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ, ๋ฏธ๋ฌ ๋
ธ๋์์ ์๋ฎฌ๋ ์ด์
ํ ํธ์ถ๊ณผ ์ค์ Consensus ๋
ธ๋ ๋์ ๊ฐ์ ์ฐจ์ด๊ฐ ๋ฐ์ํ ์ ์์์ต๋๋ค. HIP‑1217 ์ ์ฉ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ์ด ์ด๋ฃจ์ด์ง๋๋ค:
- ⛽ ๊ฐ์ค ์์ธก ์ ํ๋ ํฅ์
- ๐ Consensus ๋ ธ๋์ ๋ฏธ๋ฌ ๋ ธ๋ ๊ฐ ์ผ๊ด๋ ๋์ ๋ณด์ฅ
- ๐ ๋๋ฒ๊น ๊ฐ์ํ ๋ฐ ์์ธ ์ค๋ฅ ์ฝ๋ ์ ๊ณต
๐ ์ฃผ์ ๋ณ๊ฒฝ์ฌํญ ๋ฐ ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ์
1. ์ฃผ์ ํด์ (Address Resolution)
- ๋ณ๊ฒฝ ์ํฅ:
- ED25519 ๊ณ์ ์ Number Alias(0x0000…) ์ฌ์ฉ
- ECDSA ๊ณ์ ์ Keccak‑256 alias(0xc5b7…) ์ฌ์ฉ
- Keccak alias๊ฐ ์๋ ECDSA ๊ณ์ ์ Number Alias ์ฌ์ฉ ๊ฐ๋ฅ
- ์กฐ์น:
- Mirror ๋ ธ๋ API์ evm_address ๋๋ SDK์ contractAccountId ํ์ฉ
- ECDSA ๊ณ์ ์ Keccak‑256 alias ํ์์ ์ฌ์ฉ
- ๋ฐฐํฌ์ผ: 2025๋ 12์ 1์ผ
2. ์ง๋ถ์ ์์ก ํ์ธ (Payer Balance Validation)
- ๋ณ๊ฒฝ ์ํฅ: ์์ก ๋ถ์กฑ ์ INSUFFICIENT_PAYER_BALANCE ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ
- ์กฐ์น: ์๋ฎฌ๋ ์ด์ ํธ์ถ(eth_call) ์ ์๋ ์ถฉ๋ถํ ์์ก ํ๋ณด
- ๋ฐฐํฌ์ผ: 2025๋ 12์ 1์ผ
3. ์ ๋ ฅ ์ค๋ฅ ์ฒ๋ฆฌ (Invalid Input Handling)
- ๋ณ๊ฒฝ ์ํฅ: INVALID_CONTRACT_ID ๋ฑ ๋ ๊ตฌ์ฒด์ ์ธ ์ค๋ฅ ์ํ ๋ฐํ
- ์กฐ์น: ํด๋ผ์ด์ธํธ ๋ก์ง์์ ๋ณด๋ค ๋ค์ํ ์ค๋ฅ ์ฝ๋์ HTTP 400 ์ฒ๋ฆฌ
- ๋ฐฐํฌ์ผ: 2025๋ 9์ 1์ผ
4. ๊ฐ์ค ์ถ์ (Gas Estimation)
- ๋ณ๊ฒฝ ์ํฅ: ํนํ ์ปจํธ๋ํธ ๋ฐฐํฌ ์ ๊ฐ์ค ์์ธก ์์น๊ฐ ๋ณด๋ค ์ ํํ๊ฒ ๋ณ๊ฒฝ
- ์กฐ์น: ํ ์คํธ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ค ์์๊ฐ ์กฐ์
- ๋ฐฐํฌ์ผ: 2025๋ 9์ 1์ผ
5. ๊ธฐ๋ณธ KYC ์ํ (Default KYC Status)
- ๋ณ๊ฒฝ ์ํฅ: ์ค์ Consensus ์ํ์ ๊ธฐ๋ฐํ KYC ๋ฐํ๊ฐ ๋ฐ์
- ์กฐ์น: ๊ธฐ๋ณธ KYC ์ํ์ ์์กดํ๋ ๋ก์ง ๊ฒํ ๋ฐ ์์
- ๋ฐฐํฌ์ผ: 2025๋ 9์ 1์ผ
6. ๋ฐํ๊ฐ๊ณผ ์์ธ ์ฒ๋ฆฌ (Return Values vs Exceptions)
- ๋ณ๊ฒฝ ์ํฅ: ๊ธฐ์กด์ ๊ธฐ๋ณธ๊ฐ ๋ฐํํ๋ ํธ์ถ์ ์๋ฌ๋ก, ๋๋ ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ ๋ฐ์ ๊ฐ๋ฅ
- ์กฐ์น: ์์ธ ๊ธฐ๋ฐ ๋ฐ ๊ฐ ๊ธฐ๋ฐ ์๋ต ๋ชจ๋ ์ฒ๋ฆฌ ๊ฐ๋ฅํ ํด๋ผ์ด์ธํธ ๋ก์ง ์์ฑ
- ๋ฐฐํฌ์ผ: 2025๋ 9์ 1์ผ
7. ์กด์ฌํ์ง ์๋ ์ปจํธ๋ํธ ํธ์ถ (Call to Nonexistent Contracts)
- ๋ณ๊ฒฝ ์ํฅ: ์ด์ INVALID_TRANSACTION → ์ด์ ๋ INVALID_CONTRACT_ID ๋ฐํ
- ์กฐ์น: ์ค๋ฅ ์ฒ๋ฆฌ ๋ก์ง ์ ๋ฐ์ดํธ
- ๋ฐฐํฌ์ผ: 2025๋ 9์ 1์ผ
8. ๋ฆฌ๋๋ ์ ์ค๋ฅ ์ฒ๋ฆฌ ํต์ผ (Redirect Call Errors)
- ๋ณ๊ฒฝ ์ํฅ: ํน์ ์ค๋ฅ ์ฝ๋(์: INVALID_TOKEN_ID) ๋์ CONTRACT_REVERT_EXECUTED ๊ณตํต ๋ฐํ
- ์กฐ์น: ํ ์คํธ ๋ฐ ์ค๋ฅ ์ฒ๋ฆฌ ๋ก์ง ์์
- ๋ฐฐํฌ์ผ: 2025๋ 9์ 1์ผ
⚠️ ํธํ์ฑ ์๋ด
์ด๋ฒ ๋ณ๊ฒฝ์ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋์ง ์์ผ๋ฉฐ, ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฐ๋์ ์
๋ฐ์ดํธํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ค๋ฅ๋ ์๊ธฐ์น ์์ ์คํจ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
⏳ ์์ ์ฐํ ๋ฐ ๋ง์ด๊ทธ๋ ์ด์ ์ง์
- Address
Resolution ๋ฐ Payer Balance Validation ๊ด๋ จ ๋ณ๊ฒฝ์ 2025๋
12์ 1์ผ๊น์ง ์ ์๋ฉ๋๋ค.
- ๋ ๊ธด ์ ์ ๊ธฐ๊ฐ์ด ํ์ํ๋ค๋ฉด Discord์์ reccetech
(Keith Kowal) ์ ์์ฒญํ์ค ์ ์์ผ๋ฉฐ, ๋ง์ถคํ ๋ง์ด๊ทธ๋ ์ด์
์ผ์ ์ ์ง์ํฉ๋๋ค.
๐งฉ ๋ฏธ๋ฌ ๋ ธ๋ ์ด์์์ฉ ์๋ด
๋ฏธ๋ฌ ๋
ธ๋ ์ด์์๋ ๋ค์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ์ฌ ์ธ์คํด์ค์ ๋ชจ๋ํ ํ๋ฆ์ ํ์ฑํํ ์ ์์ต๋๋ค:
ํ ์คํธ ๋ฐ ๋ฐฐํฌ ๊ณํ์ ๋ฐ๋ผ HEDERA_MIRROR_WEB3_EVM_MODULARIZEDTRAFFICPERCENT ๊ฐ์ ์กฐ์ ํ์ญ์์ค.
๐ ๋ค์ ๋จ๊ณ & ์ผ์ ์์ฝ
์ ํฌ๋ ๊ฐ๋ฐ์๋ค์ด Previewnet ๋ฐ Testnet์์ ์ ํ๋ฆฌ์ผ์ด์
์ ํ
์คํธํ ๊ฒ์ ๊ฐ๋ ฅํ ๊ถ์ฅํฉ๋๋ค. ํ์ฌ
Previewnet ๋ฐ Testnet์์๋ ๋ชจ๋ํ๋ ํ๋ฆ์ด ํ์ฑํ๋์ด ์์ผ๋ฉฐ ์ ์ฒด ํธ๋ํฝ์ 100%๋ฅผ ์ฒ๋ฆฌํ๊ณ ์์ต๋๋ค. ์ด๋ ๋ฉ์ธ๋ท ์ถ์ ์ ์ํํ ์ ํ์ ๋ณด์ฅํ๊ณ ํ์ํ ์กฐ์ ์ฌํญ์ ์ฌ์ ์ ์๋ณํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์
๋๋ค.
๋ณ๊ฒฝ ์ฌํญ 3~8์ ์ผ์ :
- ์ด๊ธฐ ์ (7์ 1์ผ): ์ด ๊ธฐ๊ฐ์ ์ปค๋ฎค๋์ผ์ด์ ๋จ๊ณ์ ๋๋ค. ๋ฉ์ธ๋ท ๋ฏธ๋ฌ ๋ ธ๋์ ์๋ก์ด ๋ก์ง์ผ๋ก ํธ๋ํฝ์ด 0% ์ ์ก๋ฉ๋๋ค.
- 1๊ฐ์ ์ข ๋ฃ ์์ (8์ 1์ผ): ์ ์ฒด ํธ๋ํฝ์ 10%๊ฐ ๋ฉ์ธ๋ท์ ์๋ก์ด ๋ ผ๋ฆฌ๋ก ๋ผ์ฐํ ๋ฉ๋๋ค.
- 2๊ฐ์ ์ข ๋ฃ ์์ (9์ 1์ผ): ์ ์ฒด ํธ๋ํฝ์ 100%๊ฐ ๋ฉ์ธ๋ท์ ์๋ก์ด ๋ ผ๋ฆฌ๋ก ๋ผ์ฐํ ๋ฉ๋๋ค.
๋ณ๊ฒฝ ์ฌํญ 1 ๋ฐ 2์ ์ผ์ :
- 12์ 1์ผ: ์ฃผ์ ํด๊ฒฐ ๋ฐ ๊ฒฐ์ ์ ์์ก ๊ฒ์ฆ ๊ธฐ๋ฅ์ด ๋ฉ์ธ๋ท์ ์ ์ฉ๋ฉ๋๋ค.
๐ HIP‑1217 ๊ณต์ ๋ฌธ์: https://hips.hedera.com/hip/hip-1217
๐ ํค๋ฐ๋ผ์ ๋ชจ๋ ๊ฒ, ํ๊ณณ์! “ํค๋ฐ๋ผ ์ง์์ฐฝ๊ณ ” – ํค๋ฐ๋ผ๊น์น์ ํจ๊ปํ์ธ์!
๐บ https://www.youtube.com/@HederaKimchi
๐ฌ X: https://x.com/HederaKimchi
๐ฒ Telegram (KR): https://t.me/HashgraphKorea
๐ก ์นด์นด์ค (PIN: 0916): https://open.kakao.com/o/gmfIGP0
๋๊ธ
๋๊ธ ์ฐ๊ธฐ