-
bitcoin $83805.883570 USD
-0.30% -
ethereum $2668.994877 USD
-0.50% -
tether $0.999764 USD
0.00% -
bnb $772.274408 USD
0.02% -
xrp $1.528343 USD
2.01% -
usd-coin $0.999872 USD
0.01% -
solana $116.029741 USD
1.13% -
tron $0.338529 USD
-1.43% -
zcash $1541.065275 USD
1.74% -
hyperliquid $92.086635 USD
-0.29% -
dogecoin $0.094822 USD
0.75% -
monero $571.713251 USD
2.16% -
chainlink $13.383146 USD
8.07% -
cardano $0.247245 USD
2.90% -
unus-sed-leo $8.791211 USD
-2.28%
일시 정지 될 수있는 스마트 계약을 구축하는 방법은 무엇입니까?
A pausable smart contract allows developers to temporarily halt functions like token transfers or minting, offering flexibility for maintenance while maintaining security through ownership controls and modifiers.
2025/07/13 19:00
일시 중지 가능한 스마트 계약의 개념을 이해합니다
블록 체인 및 이더 리움 기반 애플리케이션 의 세계에서 스마트 계약은 일단 배포되면 불변의 코드입니다. 그러나 실제 사용 사례의 경우 개발자는 유지 보수 또는 비상 목적으로 계약 기능을 일시적으로 일시 중지하는 메커니즘이 필요할 수 있습니다. 일시 중지 가능한 스마트 계약을 통해 계약의 논리를 영구적으로 변경하지 않고 특정 기능을 중단 할 수 있습니다. 이 기능은 중요한 기간 동안 토큰 전송 , 마이닝 또는 사용자 상호 작용과 같은 특정 작업을 방지 할 필요가있을 때 특히 유용합니다.
계약을 일시 중지하는 능력은 소유자 또는 다중 서명 지갑이 제어 할 수있는 거버넌스 메커니즘을 도입합니다. 계약이 자율적이지만 특정 조건에서 여전히 중앙 집중식 제어 수준을 유지합니다.
일시 정지 스마트 계약의 주요 구성 요소
일시 정지 계약을 구현하려면 몇 가지 주요 구성 요소가 포함되어야합니다.
- 계약이 현재 일시 중지되었는지 여부를 저장하는 일시
paused와 같은 부울 상태 변수 . - 일시 정지 상태에 따라 기능 실행을 제한하는 수정 자 .
- 승인 된 주소 만 보장하기위한 소유권 컨트롤은 일시 정지 상태를 전환 할 수 있습니다.
예를 들어, 견고성에서는 다음과 같이 선언 할 수 있습니다.
bool public paused = false; 이 라인은 중요한 기능을 실행하기 전에 확인할 수있는 공개 변수를 초기화합니다. whenNotPaused 와 whenPaused 수정자는 일반적으로 현재 상태에 따라 함수에 대한 액세스를 게이트하는 데 사용됩니다.
견고성에서 일시 정지 수정자를 구현합니다
일시 정지 성을 계약에 통합하는 가장 효과적인 방법 중 하나는 사용자 정의 수정자를 통하는 것입니다. 이 수정자는 함수가 진행되기 전에 일시 정지 상태를 확인합니다.
다음은 정의 할 수있는 방법입니다.
modifier whenNotPaused() {require(!paused, 'Contract is paused'); _;
}
WhenPaused () {수정 자
require(paused, 'Contract is not paused'); _;}
그런 다음 이러한 수정자를 조건부 차단하려는 기능에 적용 할 수 있습니다.
function mint(address to, uint256 amount) public whenNotPaused {// Minting logic here
}
whenNotPaused 적용함으로써 계약이 일시 중지되는 동안 누군가 전화를 걸려고하면 mint 기능이 메시지와 함께 되돌아갑니다. 마찬가지로, 계약 재개와 같은 일시 정지 상태 운영 만 허용하기 위해 whenPaused 사용할 수 있습니다.
일시 정지 및 불완전 함수 추가
실제로 일시 정지 상태를 제어하려면 두 가지 핵심 기능이 필요합니다. 하나는 일시 중지 하고 다른 하나는 계약을 파악할 수 있습니다. 이들은 Ownable 것과 같은 액세스 제어 메커니즘을 사용하여 보호되어야합니다.
예제 구현은 다음과 같습니다.
function pause() public onlyOwner {paused = true;
}
함수 unpause () public Onlyowner {
paused = false;}
이 설정에서는 소유자 만이 기능을 호출 할 수 있습니다. 무단 또는 우발적 일시 중지의 위험을 줄이기 위해 멀티 시그 지갑 또는 타임 락을 구현하여 보안을 더욱 향상시킬 수 있습니다.
상태가 변경 될 때 이벤트를 방출하는 것도 필수적이므로 오프 체인 시스템이 그에 따라 반응 할 수 있습니다.
event Paused(); event Unpaused();함수 pause () public Onlyowner {paused = true; emit Paused();}
함수 unpause () public Onlyowner {
paused = false; emit Unpaused();}
모범 사례 및 보안 고려 사항
일시 정지 성을 구현하면 유연성이 향상되지만 잠재적 인 보안 위험도 도입합니다. 다음은 다음과 같은 모범 사례입니다.
- 권한있는 액세스 최소화 : 신뢰할 수있는 엔티티 만 계약을 일시 중지 할 수 있어야합니다. 단일 소유자 대신 역할 기반 액세스 제어 (RBAC)를 사용하는 것을 고려하십시오.
- 지나치게 칭찬을 피하십시오 : 모든 기능을 멈출 수있는 것은 아닙니다. 예를 들어, 읽기 전용 함수 또는 균형 점검은 일반적으로 제한이 필요하지 않습니다.
- 철저히 테스트 : 일시 정지가 예상되는 행동을 중단하지 않도록하십시오. 계약이 잠시 멈추고 여러 번 사용되지 않는 테스트 시나리오.
- 메커니즘을 문서화하십시오 : 사용자는 계약에 일시 정지 기능이 있으며 그 의미를 이해해야합니다.
또한, 버그 또는 취약점이 작동 중에 악용되는 경우 비상 복구 메커니즘을 통합하는 것을 고려하십시오.
예제 구현 예
모든 것을 정리하면 OpenZeppelin의 라이브러리를 사용하여 일시 정지 토큰 계약 의 간단하지만 완전한 예입니다.
pragma solidity ^0.8.0;import '@OpenZeppelin/contracts/token/erc20/erc20.sol'; import '@OpenZeppelin/contracts/access/weelable.sol';계약 PAUSABLETOKE는 ERC20입니다.
bool public paused = false; constructor(string memory name, string memory symbol) ERC20(name, symbol) {} modifier whenNotPaused() { require(!paused, 'PausableToken: paused'); _; } function pause() external onlyOwner { paused = true; } function unpause() external onlyOwner { paused = false; } function mint(address to, uint256 amount) external whenNotPaused { _mint(to, amount); }}
이 계약은 OpenZeppelin의 ERC20 기본 클래스를 확장하고 mint 기능에 일시 정지 성을 추가합니다. 소유자는 마음대로 계약을 일시 중지하고 제거 할 수 있습니다.
자주 묻는 질문
Q1 : 스마트 계약의 기능을 멈출 수 있습니까? 그렇습니다. 모든 기능은 whenNotPaused 또는 whenPaused modifier를 적용하여 일시 중지 할 수 있습니다. 그러나 모든 기능을 멈출 수있는 것은 아니며, 특히 거버넌스 또는 소유권과 관련된 기능은 아닙니다.
Q2 : 계약을 영구적으로 일시 중지 할 수 있습니까? 기술적으로 그렇습니다. 그러나 그렇게하면 계약의 일부를 사용할 수 없게 만들 수 있습니다. 기능이 영구적으로 비활성화되지 않는 한 일반적으로 불행한 기능을 포함하는 것이 좋습니다.
Q3 : 계약이 일시 중지 될 때 거래중인 거래는 어떻게됩니까? 일시 정지 기능을 실행하려는 거래 보류 거래는 실패하고 오류 메시지로 되돌아갑니다. 이미 채굴되었지만 아직 실행되지 않은 거래는 일시 정지 기능을 목표로하면 되돌아갑니다.
Q4 : 일시 정지 성이 분산 금융 (Defi) 프로토콜에 어떤 영향을 미칩니 까? 결함에서, 일시 정지 성은 안전 메커니즘이자 중앙 집중화 문제가 될 수있다. 프로토콜은 종종 시간 잠금 거버넌스를 사용하여 일시 정지 권리의 오용을 완화합니다.
부인 성명:info@kdj.com
제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!
본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.
- KelpDAO 대 LayerZero: 2억 9200만 달러 규모의 rsETH 악용 비난 게임이 법정에서 뜨거워졌습니다.
- 2026-09-25 16:35:01
- BlackRock과 Ondo Finance의 선구적인 토큰화: 접근 가능한 디지털 자산을 위한 새로운 시대
- 2026-09-25 08:45:01
- 글로벌 조사 속 아시아의 암호화폐 급증: 채택, 보안 위반 및 규제 변화의 주요 추세
- 2026-09-25 08:45:01
- XRP 보유자를 위한 전문가 경고: 지정학적 혼란 속에서 재시험 임박, 분석가는 주의 촉구
- 2026-09-25 00:35:01
- Ethereum ETF 유입은 적당한 순 유입 속에서 그레이스케일 비트 단위 발산을 확인합니다: NYC Take
- 2026-09-25 00:35:01
- Pepeto 대 The Giants: ADA와 CRO의 꾸준한 상승 속에서 차세대 100배 암호화폐 공개
- 2026-09-24 08:35:01
관련 지식
HYPEUSDT 선물 레버리지를 조정하는 방법은 무엇입니까?
2026-09-21 15:40:00
HYPEUSDT 선물 활용 메커니즘 이해 1. HYPEUSDT는 BSC 또는 이더리움 기반 파생상품을 지원하는 여러 분산형 및 중앙형 거래소에서 거래되는 영구 선물 계약입니다. 2. HYPEUSDT의 레버리지는 토큰 표준에 의해 고정되지 않고 마진 엔진 구성을 통해 교...
HYPEUSDT 선물 거래량을 찾는 방법은 무엇입니까?
2026-09-24 09:00:13
HYPEUSDT 선물 거래량 데이터에 접근하기 1. HYPEUSDT 무기한 또는 분기별 선물 계약을 상장하는 Bybit, OKX, Binance 등 주요 암호화폐 파생상품 거래소를 방문하세요. 2. HYPEUSDT 거래 쌍 페이지로 이동하여 시장 통계 패널을 찾습니다....
HYPEUSDT 무기한 표시 가격을 확인하는 방법은 무엇입니까?
2026-09-21 03:00:19
무기한 계약의 시장 평균 가격 이해하기 1. 시장 평균 가격은 무기한 선물 시장에서 정산 및 청산 이벤트의 조작을 방지하기 위해 계산된 기준 가격입니다. 2. 일반적으로 현물 지수 가격과 펀딩 요율 조정 및 주문서의 시간 가중 중간 가격을 결합합니다. 3. 최종 거래 ...
HYPEUSDT 선물 손익을 계산하는 방법은 무엇입니까?
2026-09-24 00:00:23
HYPEUSDT 선물 계약 사양 이해 1. HYPEUSDT는 밈 코인 파생상품을 지원하는 분산형 및 중앙형 거래소에서 거래되는 영구 선물 계약입니다. 2. 계약은 USDT로 호가되고 USDT로 결제되므로 이종 통화 변환 위험이 제거됩니다. 3. 각 계약은 HYPE 토큰...
HYPEUSDT 계약 청산 데이터를 보는 방법은 무엇입니까?
2026-09-25 05:19:50
HYPE/USDT 계약 청산 데이터 액세스 1. Coinglass, Bybit Analytics 또는 OKX Insights와 같은 평판이 좋은 파생상품 분석 플랫폼으로 이동합니다. 이러한 플랫폼은 여러 거래소에 걸쳐 실시간 청산 데이터를 집계합니다. 2. 검색창에 “...
HYPEUSDT 선물 롱숏 비율을 찾는 방법은 무엇입니까?
2026-09-21 20:40:13
시장 변동성 패턴 1. 유동성이 낮은 기간 동안 주요 알트코인에서 24시간 이내에 15%를 초과하는 가격 변동이 정기적으로 발생합니다. 2. Bitcoin 지배력 이동은 무기한 선물 시장의 조정된 청산 폭포와 밀접한 상관관계가 있습니다. 3. 거래소 기반 주문장 깊이가...
HYPEUSDT 선물 레버리지를 조정하는 방법은 무엇입니까?
2026-09-21 15:40:00
HYPEUSDT 선물 활용 메커니즘 이해 1. HYPEUSDT는 BSC 또는 이더리움 기반 파생상품을 지원하는 여러 분산형 및 중앙형 거래소에서 거래되는 영구 선물 계약입니다. 2. HYPEUSDT의 레버리지는 토큰 표준에 의해 고정되지 않고 마진 엔진 구성을 통해 교...
HYPEUSDT 선물 거래량을 찾는 방법은 무엇입니까?
2026-09-24 09:00:13
HYPEUSDT 선물 거래량 데이터에 접근하기 1. HYPEUSDT 무기한 또는 분기별 선물 계약을 상장하는 Bybit, OKX, Binance 등 주요 암호화폐 파생상품 거래소를 방문하세요. 2. HYPEUSDT 거래 쌍 페이지로 이동하여 시장 통계 패널을 찾습니다....
HYPEUSDT 무기한 표시 가격을 확인하는 방법은 무엇입니까?
2026-09-21 03:00:19
무기한 계약의 시장 평균 가격 이해하기 1. 시장 평균 가격은 무기한 선물 시장에서 정산 및 청산 이벤트의 조작을 방지하기 위해 계산된 기준 가격입니다. 2. 일반적으로 현물 지수 가격과 펀딩 요율 조정 및 주문서의 시간 가중 중간 가격을 결합합니다. 3. 최종 거래 ...
HYPEUSDT 선물 손익을 계산하는 방법은 무엇입니까?
2026-09-24 00:00:23
HYPEUSDT 선물 계약 사양 이해 1. HYPEUSDT는 밈 코인 파생상품을 지원하는 분산형 및 중앙형 거래소에서 거래되는 영구 선물 계약입니다. 2. 계약은 USDT로 호가되고 USDT로 결제되므로 이종 통화 변환 위험이 제거됩니다. 3. 각 계약은 HYPE 토큰...
HYPEUSDT 계약 청산 데이터를 보는 방법은 무엇입니까?
2026-09-25 05:19:50
HYPE/USDT 계약 청산 데이터 액세스 1. Coinglass, Bybit Analytics 또는 OKX Insights와 같은 평판이 좋은 파생상품 분석 플랫폼으로 이동합니다. 이러한 플랫폼은 여러 거래소에 걸쳐 실시간 청산 데이터를 집계합니다. 2. 검색창에 “...
HYPEUSDT 선물 롱숏 비율을 찾는 방법은 무엇입니까?
2026-09-21 20:40:13
시장 변동성 패턴 1. 유동성이 낮은 기간 동안 주요 알트코인에서 24시간 이내에 15%를 초과하는 가격 변동이 정기적으로 발생합니다. 2. Bitcoin 지배력 이동은 무기한 선물 시장의 조정된 청산 폭포와 밀접한 상관관계가 있습니다. 3. 거래소 기반 주문장 깊이가...
모든 기사 보기














