-
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%
Solidity의 뷰 기능과 순수 기능은 무엇이며 가스에 어떤 영향을 미치나요?
View and pure functions in Solidity don’t modify state, enabling free, off-chain execution—ideal for reads and calculations without gas costs.
2025/11/12 18:20
Solidity의 뷰 기능 이해
1. Solidity의 뷰 기능은 블록체인의 상태를 수정하지 않을 것을 약속하는 기능 유형입니다. 계약의 저장 변수에서 읽을 수는 있지만 변경하거나, 이벤트를 내보내거나, 상태를 변경하는 함수를 호출할 수는 없습니다.
- 이러한 기능은 상태를 변경하지 않기 때문에 트랜잭션을 네트워크에 브로드캐스트하지 않고도 Ethereum 노드에서 로컬로 실행될 수 있습니다. 이는 사용자가 외부로 전화할 때 가스 요금을 지불할 필요가 없음을 의미합니다.
- 키워드 뷰는 함수 시그니처에서 명시적으로 선언되어야 합니다. 생략하고 함수가 상태를 수정하려고 시도하면 컴파일러에서 오류가 발생합니다.
- 예를 들어 사용자 잔액 검색, ERC-20 토큰 허용량 확인, 계약에 저장된 구성 매개변수 읽기 등이 있습니다.
- 외부 호출자에게는 무료임에도 불구하고 뷰 함수는 여전히 노드에서 계산 리소스를 소비합니다. 따라서 보기 함수 내부의 지나치게 복잡한 논리로 인해 일부 공급자가 시간 초과 또는 거부를 초래할 수 있습니다.
Solidity의 순수 기능 탐색
1. 순수 함수는 상태 변수를 읽거나 쓰지 않겠다고 약속함으로써 뷰 함수보다 한 단계 더 나아갑니다. 전달된 입력 매개변수에 대해서만 작동합니다.
- 이러한 함수는 일반적으로 저장된 데이터에 의존하지 않는 수학적 계산, 인코딩/디코딩 작업 또는 논리적 검사에 사용됩니다.
- pure 키워드는 컴파일 타임에 이 제한을 적용합니다. 단일 상태 변수에 액세스하려고 시도하면 컴파일이 실패하게 됩니다.
- 뷰 함수와 마찬가지로 순수 함수는 트랜잭션이 필요하지 않기 때문에 외부에서 호출할 때 가스 비용이 발생하지 않습니다. 로컬 노드 리소스를 사용하여 오프체인을 실행합니다.
- 입력 인수를 기반으로 복리를 계산하거나 계약 저장소를 참조하지 않고 암호화 서명을 검증하는 함수를 예로 들 수 있습니다.
수정되지 않는 함수의 가스 영향
1. 스마트 계약 기능이 view 또는 pure 로 표시되면 이에 대한 외부 호출은 트랜잭션을 생성하지 않습니다. 결과적으로 발신자에게 가스가 청구되지 않습니다.
- 그러나 내부적으로 트랜잭션 내의 다른 함수에 의해 뷰나 순수 함수가 호출되는 경우 해당 실행에는 여전히 가스가 소비됩니다. EVM은 상태 변경 발생 여부에 관계없이 모든 작업을 처리해야 합니다.
- 대규모 배열에 대한 반복이나 여러 산술 연산 수행과 같은 함수 내부의 복잡한 계산은 내부적으로 호출될 때 가스 비용을 증가시킵니다.
- 개발자는 특히 상태 변경 트랜잭션 중에 호출될 가능성이 있는 경우 뷰/순수 함수의 계산을 최소화하여 성능을 최적화하는 경우가 많습니다.
- 실제로 상태를 수정할 때 함수에 뷰 또는 순수라는 라벨을 잘못 지정하면 런타임 예외 또는 배포 실패가 발생하여 잠재적으로 개발 시간과 테스트넷 가스가 낭비됩니다.
뷰 및 순수 함수에 대한 일반적인 질문
Q: 뷰 함수가 순수 함수를 호출할 수 있나요? A: 예, 뷰 함수는 순수 함수를 안전하게 호출할 수 있습니다. 순수 함수는 상태를 읽거나 수정하지 않으므로 뷰 함수의 제약 조건과 완벽하게 호환됩니다.
Q: 순수 함수 내에서 상태 변수를 수정하려고 하면 어떻게 되나요? 답변: Solidity 컴파일러는 오류를 생성합니다. 순수 함수는 읽기든 쓰기든 모든 상태 변수에 액세스하는 것이 엄격히 금지됩니다.
Q: web3.js 또는 ethers.js에서 호출할 때 뷰 및 순수 함수가 가스를 사용합니까? A: 아니요. JavaScript 라이브러리를 통해 이러한 함수를 호출하면 트랜잭션이 필요하지 않으므로 가스 비용이 발생하지 않습니다. 실행은 연결된 Ethereum 노드에서 로컬로 발생합니다.
Q: 뷰 함수와 순수 함수 간에 성능 차이가 있나요? A: 가스 비용 및 실행 속도 관점에서 보면 외부에서 호출할 때 본질적인 차이가 없습니다. 둘 다 상태 변경 없이 로컬로 실행됩니다. 내부적으로 성능은 사용된 수정자가 아닌 계산 복잡성에 따라 달라집니다.
부인 성명: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
관련 지식
Bybit에서 BTC 거래를 위해 선형 및 역 무기한 계약 중에서 선택하는 방법은 무엇입니까?
2026-06-06 02:54:55
계약 정산 메커니즘 1. Bybit의 선형 무기한 계약은 USDT로 정산됩니다. 즉, 모든 손익 계산, 마진 요구 사항 및 청산 기준액이 스테이블코인 단위로 표시됩니다. 2. 역영구 계약은 BTC 자체에 정산되므로 모든 거래는 거래자의 BTC 잔액에 직접적으로 영향을 ...
헌팅 중지 및 스푸핑과 같은 선물 시장 조작을 식별하고 방지하는 방법은 무엇입니까?
2026-06-07 14:20:10
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 2020년 ...
일일 최대 손실 한도를 설정하기 위해 Bybit에서 위험 관리 규칙을 설정하는 방법은 무엇입니까?
2026-06-04 16:40:15
계정 수준 손실 한도 구성 1. 이중 인증을 사용하여 웹 또는 모바일 애플리케이션을 통해 Bybit 계정에 로그인하세요. 2. "자산" 섹션으로 이동한 후 왼쪽 메뉴에서 "위험 관리"를 선택합니다. 3. "일일 손실 한도&q...
마진 요구 사항을 줄이기 위해 Binance에서 포트폴리오 마진 모드를 활성화하는 방법은 무엇입니까?
2026-06-05 04:59:43
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...
열린 선물 포지션을 닫지 않고 Binance에서 Bybit로 이전하는 방법은 무엇입니까?
2026-06-04 03:59:47
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 2020년 ...
미국에서 암호화폐 선물 거래 수익에 따른 세금 영향을 어떻게 처리합니까?
2026-05-29 18:19:59
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 블록 보상을 통해 새로운 단위가 도입되는 2,100만 코인의 고정 공급 한도를 시행합니다. 2. 210,000블록마다(대략 4년마다) 블록 보상이 절반으로 줄어듭니다. 이 프로세스를 절반으로 줄입니다. 3....
Bybit에서 BTC 거래를 위해 선형 및 역 무기한 계약 중에서 선택하는 방법은 무엇입니까?
2026-06-06 02:54:55
계약 정산 메커니즘 1. Bybit의 선형 무기한 계약은 USDT로 정산됩니다. 즉, 모든 손익 계산, 마진 요구 사항 및 청산 기준액이 스테이블코인 단위로 표시됩니다. 2. 역영구 계약은 BTC 자체에 정산되므로 모든 거래는 거래자의 BTC 잔액에 직접적으로 영향을 ...
헌팅 중지 및 스푸핑과 같은 선물 시장 조작을 식별하고 방지하는 방법은 무엇입니까?
2026-06-07 14:20:10
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 2020년 ...
일일 최대 손실 한도를 설정하기 위해 Bybit에서 위험 관리 규칙을 설정하는 방법은 무엇입니까?
2026-06-04 16:40:15
계정 수준 손실 한도 구성 1. 이중 인증을 사용하여 웹 또는 모바일 애플리케이션을 통해 Bybit 계정에 로그인하세요. 2. "자산" 섹션으로 이동한 후 왼쪽 메뉴에서 "위험 관리"를 선택합니다. 3. "일일 손실 한도&q...
마진 요구 사항을 줄이기 위해 Binance에서 포트폴리오 마진 모드를 활성화하는 방법은 무엇입니까?
2026-06-05 04:59:43
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...
열린 선물 포지션을 닫지 않고 Binance에서 Bybit로 이전하는 방법은 무엇입니까?
2026-06-04 03:59:47
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 2020년 ...
미국에서 암호화폐 선물 거래 수익에 따른 세금 영향을 어떻게 처리합니까?
2026-05-29 18:19:59
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 블록 보상을 통해 새로운 단위가 도입되는 2,100만 코인의 고정 공급 한도를 시행합니다. 2. 210,000블록마다(대략 4년마다) 블록 보상이 절반으로 줄어듭니다. 이 프로세스를 절반으로 줄입니다. 3....
모든 기사 보기














