시가총액: $2.1641T -1.03%
거래량(24시간): $55.4357B -12.30%
공포와 탐욕 지수:

34 - 두려움

  • 시가총액: $2.1641T -1.03%
  • 거래량(24시간): $55.4357B -12.30%
  • 공포와 탐욕 지수:
  • 시가총액: $2.1641T -1.03%
암호화
주제
암호화
소식
cryptostopics
비디오
최고 암호화

언어 선택

언어 선택

통화 선택

암호화
주제
암호화
소식
cryptostopics
비디오

견고성의 관점과 순수한 기능은 무엇입니까?

In Solidity, view functions read blockchain data without modifying it, while pure functions perform calculations without accessing or altering state variables.

2025/07/22 12:00

견고성에서보기 기능의 개념을 이해합니다

견고성에서 뷰 함수는 블록 체인의 상태를 수정하지 않기로 약속하는 함수 유형입니다. 이러한 기능은 일반적으로 값을 변경하지 않고 블록 체인에서 데이터를 검색하는 데 사용됩니다. 함수가 보기 로 표시되면 데이터 만 읽고 변수 작성, 계약 작성 또는 에테르를 보내는 등 상태를 변경하는 작업을 수행하지 않도록합니다.

뷰 함수 의 주요 특성 중 하나는 가스 수수료를 발생시키지 않고도 호출 할 수 있다는 것입니다. 이는 상태를 변경하지 않기 때문에 거래가 필요하지 않고 노드로 로컬로 실행할 수 있기 때문입니다. 개발자는 종종 뷰 기능을 사용하여 잔액 쿼리, 매핑 값 검색 또는 계약의 현재 상태를 반환하는 것과 같은 계약 데이터에 대한 외부 액세스를 제공합니다.

보기 함수가 상태를 수정하려고하면 Solidity 컴파일러에 오류가 발생합니다. 이를 통해 개발자는 이러한 기능의 의도 된 동작을 준수하고 블록 체인의 무결성을 유지하도록합니다.

견고성에서 순수한 기능을 탐구합니다

견고성의 순수한 기능은 보기 함수 보다 훨씬 제한적입니다. 순수한 기능은 상태를 수정하는 것을 피할뿐만 아니라 국가의 읽기를 피합니다. 이러한 기능은 출력이 입력 매개 변수에만 의존 할 때 사용되며 계약 내에서 저장된 데이터에 의존하지 않습니다.

보기 기능과 마찬가지로, 순수한 기능은 블록 체인 상태와 상호 작용하지 않기 때문에 외부로 호출 할 때 가스를 실행할 필요가 없습니다. 해싱, 수학 연산 또는 문자열 조작과 같은 입력 값을 기반으로 계산 또는 변환을 수행하는 데 특히 유용합니다.

순수한 기능이 상태에서 읽거나 쓰려고하는 경우 컴파일러는 오류가 발생합니다. 이 엄격한 시행은 의도하지 않은 부작용을 예방하고 이러한 기능이 결정적이고 예측 가능하도록 보장합니다.

보기와 순수한 기능을 선언하는 방법

견고성에서 보기 또는 순수한 기능을 선언하는 것은 간단합니다. 두 키워드 모두 매개 변수 목록 이후에 반환 문 앞에 기능 정의에 추가됩니다. 다음은 다음을 선언 할 수있는 방법입니다.

  • 보기 기능 의 경우 :

     function getBalance(address account) public view returns (uint) { return balances[account];

    }

  • 순수한 기능 의 경우 :

     function add(uint a, uint b) public pure returns (uint) { return a + b;

    }

첫 번째 예에서 보기 키워드는 함수가 상태 변수 balances 에서만 읽을 수 있음을 나타냅니다. 두 번째 예에서, 순수한 키워드는 함수가 상태 변수를 읽거나 쓰지 않도록하고 제공된 매개 변수를 기반으로 계산 만 수행합니다.

이 수정자는 가스 사용을 최적화하고 스마트 계약의 올바른 동작을 보장하는 데 필수적입니다.

관점 및 순수한 기능을위한 일반적인 사용 사례

  • 보기 기능은 일반적으로 다음에 사용됩니다.

    • 잔액 또는 기타 상태 변수 검색
    • 계약 메타 데이터 반환
    • 수정하지 않고 내부 상태에 대한 통찰력을 제공합니다
  • 순수한 기능은 일반적으로 다음에 사용됩니다.

    • 수학 계산 수행
    • 해싱 또는 인코딩 데이터
    • 계약 상태에 액세스하지 않고 입력 매개 변수를 확인합니다

이러한 유형의 기능을 적절하게 사용함으로써 개발자는 계약이 효율적이고 예측 가능하며 의도하지 않은 수정으로 인해 안전하도록 보장 할 수 있습니다.

보기 및 순수한 기능을 사용할 때 모범 사례

  • 기준을 충족하는 경우 항상 기능을 보기 또는 순수 로 표시하십시오. 이를 통해 가스 비용을 최적화하고 코드 가독성을 향상시킵니다.
  • 상태 변경을 수행해야 할 때 보기 또는 순수한 기능을 사용하지 마십시오. 그렇게하면 컴파일 오류가 발생합니다.
  • 계약 상태에 의존하지 않는 유틸리티 운영에는 순수한 기능을 사용하십시오.
  • 보기 또는 순수한 기능 내에서 외부 통화를 사용할 때는주의하십시오. 컴파일러는이를 허용하지만 외부 계약을 호출하면 예기치 않은 동작 또는 상태 변경이 발생할 수 있습니다.

이러한 모범 사례에 따라 스마트 계약은 다른 개발자에게 안전하고 효율적이며 이해하기 쉽도록합니다.

FAQ 섹션

Q :보기 기능이 순수한 기능을 호출 할 수 있습니까? 예, 보기 함수는 둘 다 상태를 수정하지 않기 때문에 문제없이 순수한 기능을 호출 할 수 있습니다.

Q :보기와 순수한 함수를 가질 수 있습니까? 아니요, 함수는 보기순수 일 수 없습니다. 순수한 수정자는 더 제한적이며 함수가 상태를 읽지 않음을 의미합니다.

Q : 순수한 기능으로 상태를 수정하려고하면 어떻게됩니까? 순수한 기능이 상태에서 읽거나 쓰려고 시도하면 Solidity 컴파일러가 오류를 던집니다.

Q : 뷰와 순수한 기능은 외부로 불릴 때 가스 비용이 소요됩니까? 아니요, 호출 보기 또는 순수한 기능은 외부에서는 블록 체인 상태를 수정하지 않기 때문에 가스 비용이 들지 않습니다.

부인 성명:info@kdj.com

제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!

본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.

관련 지식

거래 전 LINK 선물 청산 위험을 계산하는 방법은 무엇입니까?

거래 전 LINK 선물 청산 위험을 계산하는 방법은 무엇입니까?

2026-07-30 04:39:50

시장 변동성 패턴 1. Bitcoin의 가격 변동은 종종 미국 인플레이션 보고서 및 연방준비은행 금리 결정과 같은 거시경제 지표와 상관관계가 있습니다. 2. 알트코인 가치 평가는 높은 투기 행위를 반영하여 낮은 Bitcoin 지배력 기간 동안 증폭된 변동을 자주 나타냅...

LINKUSDT 무기한 계약 자금 조달 비율은 무엇입니까?

LINKUSDT 무기한 계약 자금 조달 비율은 무엇입니까?

2026-07-29 07:40:14

시장 변동성 패턴 1. Bitcoin 가격 변동은 ETF 승인 발표 또는 주요 거래소 중단과 같은 유동성이 높은 이벤트 중에 24시간 이내에 10%를 초과하는 경우가 많습니다. 2. 레이어 2 롤업 업그레이드가 활성화되면 이더리움의 변동성 지수가 급등하는 경우가 많습니...

AVAX 계약 청산 가격이 변경된 이유는 무엇입니까?

AVAX 계약 청산 가격이 변경된 이유는 무엇입니까?

2026-08-01 00:16:02

Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...

AVAX 선물 증거금 요건은 어떻게 계산됩니까?

AVAX 선물 증거금 요건은 어떻게 계산됩니까?

2026-07-23 15:40:03

AVAX 선물 마진 구조 1. AVAX 선물 마진은 개시 증거금과 유지 증거금이라는 두 가지 구성 요소로 구성됩니다. 이는 현재 시장 가격, 변동성, 미결제약정 및 계약 규모를 기반으로 실시간으로 계산됩니다. 2. 초기 마진은 단기(일반적으로 한 거래 세션) 동안 잠재...

AVAXUSDT 무기한 계약 자금 조달 비율은 무엇입니까?

AVAXUSDT 무기한 계약 자금 조달 비율은 무엇입니까?

2026-07-31 15:00:04

정의 및 핵심 기능 1. AVAX/USDT 무기한 계약 자금 조달 요율은 파생 상품의 거래 가격을 기본 AVAX 현물 지수에 연결하도록 설계된 정기적인 지불 메커니즘입니다. 2. 기존 선물과 달리 만료 없이 작동하며, 시간 기반 수렴이 아닌 실시간 정렬에 의존합니다. ...

ADA 선물의 강제 청산을 피하는 방법은 무엇입니까?

ADA 선물의 강제 청산을 피하는 방법은 무엇입니까?

2026-08-02 01:21:48

ADA 선물 마진 메커니즘 이해하기 1. Binance 및 Bybit과 같은 주요 거래소의 ADA 선물 계약에는 일반적으로 포지션 명목 가치의 0.5%~1.5% 사이로 설정된 유지 마진 수준이 필요합니다. 2. 개시 증거금 요건은 레버리지 등급과 계약 만기에 따라 3%...

거래 전 LINK 선물 청산 위험을 계산하는 방법은 무엇입니까?

거래 전 LINK 선물 청산 위험을 계산하는 방법은 무엇입니까?

2026-07-30 04:39:50

시장 변동성 패턴 1. Bitcoin의 가격 변동은 종종 미국 인플레이션 보고서 및 연방준비은행 금리 결정과 같은 거시경제 지표와 상관관계가 있습니다. 2. 알트코인 가치 평가는 높은 투기 행위를 반영하여 낮은 Bitcoin 지배력 기간 동안 증폭된 변동을 자주 나타냅...

LINKUSDT 무기한 계약 자금 조달 비율은 무엇입니까?

LINKUSDT 무기한 계약 자금 조달 비율은 무엇입니까?

2026-07-29 07:40:14

시장 변동성 패턴 1. Bitcoin 가격 변동은 ETF 승인 발표 또는 주요 거래소 중단과 같은 유동성이 높은 이벤트 중에 24시간 이내에 10%를 초과하는 경우가 많습니다. 2. 레이어 2 롤업 업그레이드가 활성화되면 이더리움의 변동성 지수가 급등하는 경우가 많습니...

AVAX 계약 청산 가격이 변경된 이유는 무엇입니까?

AVAX 계약 청산 가격이 변경된 이유는 무엇입니까?

2026-08-01 00:16:02

Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...

AVAX 선물 증거금 요건은 어떻게 계산됩니까?

AVAX 선물 증거금 요건은 어떻게 계산됩니까?

2026-07-23 15:40:03

AVAX 선물 마진 구조 1. AVAX 선물 마진은 개시 증거금과 유지 증거금이라는 두 가지 구성 요소로 구성됩니다. 이는 현재 시장 가격, 변동성, 미결제약정 및 계약 규모를 기반으로 실시간으로 계산됩니다. 2. 초기 마진은 단기(일반적으로 한 거래 세션) 동안 잠재...

AVAXUSDT 무기한 계약 자금 조달 비율은 무엇입니까?

AVAXUSDT 무기한 계약 자금 조달 비율은 무엇입니까?

2026-07-31 15:00:04

정의 및 핵심 기능 1. AVAX/USDT 무기한 계약 자금 조달 요율은 파생 상품의 거래 가격을 기본 AVAX 현물 지수에 연결하도록 설계된 정기적인 지불 메커니즘입니다. 2. 기존 선물과 달리 만료 없이 작동하며, 시간 기반 수렴이 아닌 실시간 정렬에 의존합니다. ...

ADA 선물의 강제 청산을 피하는 방법은 무엇입니까?

ADA 선물의 강제 청산을 피하는 방법은 무엇입니까?

2026-08-02 01:21:48

ADA 선물 마진 메커니즘 이해하기 1. Binance 및 Bybit과 같은 주요 거래소의 ADA 선물 계약에는 일반적으로 포지션 명목 가치의 0.5%~1.5% 사이로 설정된 유지 마진 수준이 필요합니다. 2. 개시 증거금 요건은 레버리지 등급과 계약 만기에 따라 3%...

모든 기사 보기

User not found or password invalid

Your input is correct