-
bitcoin $83183.262280 USD
-1.25% -
ethereum $2573.017384 USD
-1.72% -
tether $0.999370 USD
-0.04% -
bnb $770.367746 USD
0.27% -
xrp $1.409206 USD
-4.39% -
usd-coin $0.999780 USD
-0.01% -
solana $115.542643 USD
-2.73% -
tron $0.334751 USD
0.52% -
hyperliquid $87.488220 USD
-4.04% -
zcash $1246.967242 USD
-5.89% -
dogecoin $0.087837 USD
-3.28% -
monero $554.762804 USD
-2.53% -
chainlink $13.166639 USD
-4.42% -
cardano $0.253511 USD
-1.41% -
unus-sed-leo $8.913116 USD
0.42%
토큰 투자 일정에 대한 스마트 계약을 구축하는 방법은 무엇입니까?
A token vesting contract ensures gradual token release for investors and team members, promoting long-term commitment and market stability.
2025/07/12 14:01
스마트 계약에서 토큰 투자 일정을 이해합니다
토큰 투자 일정은 블록 체인 프로젝트에 사용되는 메커니즘으로, 정해진 기간 동안 투자자, 팀원 또는 고문에게 토큰을 점차적으로 공개합니다 . 이를 통해 장기적인 약속을 보장하고 토큰 가격을 불안정하게 할 수있는 갑작스런 시장 덤프를 방지합니다. 토큰 투자 일정에 대한 스마트 계약을 구축하려면 시작 시간, 절벽 지속 시간, 투자 기간 및 릴리스 빈도 와 같은 매개 변수를 정의해야합니다.
잘 구조화 된 투자 계약에는 초기에 토큰을 잠그고 사전 정의 된 조건에 따라 점진적으로 공개하는 논리가 포함되어야합니다.
올바른 블록 체인 및 도구를 선택합니다
대부분의 토큰 투자 계약은 견고성을 사용하여 이더 리움 호환 블록 체인을 기반으로하지만 Rust (Solana의 경우) 또는 Vyper와 같은 대안이 존재합니다. 이 가이드의 경우 EVM 호환 체인을위한 견고성 기반 개발 에 중점을 둡니다.
- Hardhat 또는 Truffle과 같은 개발 프레임 워크를 선택하여 편집, 테스트 및 배포를 간소화하십시오.
- ERC20 및 VETTING 계약의 안전하고 감사 된 구현을 위해 OpenZeppelin 라이브러리를 사용하십시오 .
- 테스트 목적으로 가나슈 또는 연금술과 같은 도구를 사용하여 로컬 노드 환경을 설정하십시오 .
투자 계약의 구조 설계
투자 계약의 핵심 구조는 수혜자 추적, 할당 및 토큰 릴리스 일정을 중심으로 진행됩니다.
주요 구성 요소에는 다음이 포함됩니다.
- 수혜자 주소 - 투자 된 토큰을받는 사람.
- 릴리스 스타트 타임 스탬프 - 투자가 시작될 때.
- 절벽 기간 - 토큰이 풀리기 전 대기 기간.
- 투자 기간 - 토큰이 출시되는 총 시간.
- Revocability 플래그 - 특정 조건에서 취소 할 수있는 선택적 기능.
각 수혜자의 데이터는 명확하고 효율적인 액세스를 위해 구조물에 저장해야합니다.
견고성에서 투자 논리를 구현합니다
기본 투자 계약을 구현하려면 :
필요한 OpenZeppelin 계약 , 특히
IERC20및SafeERC20수입하십시오.totalAllocation,releasedAmount,startTime,cliffDuration및vestingDuration과 같은 필드로 Vestingschedule Struct를 정의하십시오 .각 수혜자의 세부 정보를 추적하기 위해 주소에서 Vestingschedule까지의 매핑을 만듭니다 .
소유자가 여러 수혜자에 대한 투자 일정을 초기화하기 위해 함수를 추가하십시오 .
시작 이후 경과 시간에 따라 철회 할 수있는 금액을 계산하는 클레임 기능을 작성하십시오 .
자체 또는 역할 기반 권한을 사용하여 적절한 액세스 제어를 보장하십시오 .
간단한 코드 스 니펫은 다음과 같습니다.
pragma solidity ^0.8.0;'@OpenZeppelin/Contracts/Token/ERC20/utils/safeerc20.sol'; import '@OpenZeppelin/contracts/access/weelable.sol';Contract Tokenvesting은 소유 할 수 있습니다 {
using SafeERC20 for IERC20; struct VestingSchedule { uint256 totalAllocation; uint256 releasedAmount; uint256 startTime; uint256 cliffDuration; uint256 vestingDuration; } IERC20 public token; mapping(address => VestingSchedule) public vestingSchedules; constructor(address _tokenAddress) { token = IERC20(_tokenAddress); } function addVestingSchedule( address beneficiary, uint256 totalAllocation, uint256 startTime, uint256 cliffDuration, uint256 vestingDuration ) external onlyOwner { require(vestingSchedules[beneficiary].totalAllocation == 0, 'Schedule already exists'); vestingSchedules[beneficiary] = VestingSchedule({ totalAllocation: totalAllocation, releasedAmount: 0, startTime: startTime, cliffDuration: cliffDuration, vestingDuration: vestingDuration }); } function claim() external { VestingSchedule storage schedule = vestingSchedules[msg.sender]; require(schedule.totalAllocation > 0, 'No vesting schedule found'); uint256 amount = releasableAmount(msg.sender); require(amount > 0, 'Nothing to claim'); schedule.releasedAmount += amount; token.safeTransfer(msg.sender, amount); } function releasableAmount(address beneficiary) public view returns (uint256) { VestingSchedule memory schedule = vestingSchedules[beneficiary]; if (block.timestamp < schedule.startTime + schedule.cliffDuration) { return 0; } uint256 elapsedTime = block.timestamp - schedule.startTime; if (elapsedTime >= schedule.vestingDuration) { return schedule.totalAllocation - schedule.releasedAmount; } uint256 vestedAmount = (schedule.totalAllocation * elapsedTime) / schedule.vestingDuration; return vestedAmount - schedule.releasedAmount; }}
투자 계약 테스트 및 배포
라이브 네트워크에 배포하기 전에 철저한 테스트가 필수적입니다.
- Cliff 이전의 주장, 완전한 투자 후, 부분적인 주장과 같은 가장자리 케이스를 덮는 단위 테스트를 작성하십시오 .
- Hardhat 's Time Helpers를 사용하여 다른 타임 스탬프를 시뮬레이션하십시오 .
- 승인 된 당사자 만 일정을 추가 할 수 있도록 소유권 컨트롤을 확인하십시오 .
- 스크립트를 사용하여 계약을 배포 하고 BSCSCAN 또는 Etherscan과 같은 블록 탐색기에서 확인하십시오.
- 일정을 초기화하기 전에 적절한 수의 토큰과 계약을 체결하십시오 .
배포되면 Metamask 또는 Remix와 같은 도구를 통해 프론트 엔드 인터페이스 또는 직접 통화를 사용하여 계약과 상호 작용하십시오.
자주 묻는 질문
Q : 투자 일정을 설정 한 후에 수정 일정을 수정할 수 있습니까? A : 일반적으로 투자 일정이 추가되면 업데이트 기능으로 명시 적으로 코딩하지 않으면 수정할 수 없습니다. 대부분의 프로젝트는 신뢰의 이유로 불변성을 선호합니다.
Q : 수혜자가 지갑에 대한 접근을 잃으면 어떻게됩니까? A : 토큰은 청구 될 때까지 계약에 상태를 유지합니다. 계약에 비상 전송 기능이 포함되어 있지 않으면 회복 메커니즘이 없습니다. 이는 보안상의 이유로 권장되지 않습니다.
Q : 투자 일정을 취소 할 수 있습니까? A : 그렇습니다. 그러나 계약이 해지 로직을 지원하는 경우에만. 취소 가능한 Vesting을 사용하면 소유자는 일반적으로 프로젝트를 떠나는 팀원에게 사용되는 향후 청구를 취소 할 수 있습니다.
Q : 단일 투자 계약에서 여러 토큰 유형을 어떻게 처리합니까? A : 토큰 당 별도의 계약을 배치하거나 추가 매핑 및 각 토큰 주소에 대한 수표로 다중 점수 계약을 설계해야합니다.
부인 성명:info@kdj.com
제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!
본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.
- 미국 정부의 1억 3백만 달러 BTC, BNB가 연료 매도 추측을 전달하지만 말을 참으세요!
- 2026-10-08 16:45:01
- Peter Thiel의 창립자 기금으로 Anvil의 ANVL 토큰이 60% 급증했습니다: DeFi 담보의 새로운 시대?
- 2026-10-08 16:35:01
- 테더와 카자흐스탄이 앞서 나가다: 중앙아시아의 스테이블코인과 디지털 금융 탐구
- 2026-10-08 08:22:03
- XRP가 큰 청신호를 얻습니다: 시장 전략가는 나스닥 상장 및 규제 명확성을 지적합니다.
- 2026-10-08 07:33:17
- 엉클 샘(Uncle Sam)의 암호화폐 셔플: 비트코인, 코인베이스 프라임, 압류된 자산이 냄비를 뒤흔들다
- 2026-10-08 07:09:20
- Zcash ETF 출혈: 가격 조치는 5,900만 달러 유출로 인한 제도적 냉각 신호
- 2026-10-07 09:52:04
관련 지식
레버리지 선물 포지션을 관리할 때 DOT 펀딩 요율을 어떻게 사용합니까?
2026-10-04 10:59:52
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 2020년 ...
TRX 무기한 계약에서 손절매 및 이익 실현을 설정하는 방법은 무엇입니까?
2026-10-03 01:59:43
TRX 무기한 계약의 손절매 및 이익 실현 메커니즘 이해 1. TRX 무기한 계약의 손절매(SL) 및 이익 실현(TP) 주문은 시장 평균가가 사용자가 정의한 임계값에 도달할 때 발동되는 조건부 시장 또는 지정가 주문으로 작동합니다. 이는 주문장에 직접 배치되지 않고 거...
TRX 미결제약정을 사용하여 레버리지 시장 활동을 모니터링하는 방법은 무엇입니까?
2026-10-07 03:00:13
TRX 미결제약정 기본 사항 이해 1. 미결제약정은 특정 시점에 시장 참가자가 보유하고 있는 장기 또는 단기 선물 계약의 총 수를 나타냅니다. 2. 매일 초기화되는 거래량과 달리 미결제약정은 포지션이 청산되거나 롤오버될 때까지 누적되어 지속됩니다. 3. 가격 상승과 함...
포지션에 진입하기 전에 TRX 선물 가격 알림을 설정하는 방법은 무엇입니까?
2026-10-04 22:40:29
TRX 선물 시장 데이터에 접근하기 1. TRX/USDT 또는 TRX/USD 선물 계약이 나열된 선호하는 암호화폐 파생상품 거래소에 로그인하세요. OKX, Bybit 및 Binance와 같은 주요 플랫폼은 TRX 무기한 계약에 대한 실시간 주문장 깊이, 24시간 자금 ...
강력한 거래량 돌파 후 TRX 무기한 계약을 거래하는 방법은 무엇입니까?
2026-10-06 19:20:06
TRX 무기한 계약 메커니즘 이해하기 1. 분산형 거래소의 TRX 영구 계약은 만료 날짜 없이 작동하므로 TRON 네트워크의 기본 토큰에 대해 무제한 레버리지 포지션을 사용할 수 있습니다. 2. 펀딩 요율 조정은 8시간마다 발생하며, 영구 가격과 TRX 지수 가격 간의...
무기한 선물 거래를 관리하기 위해 LTC 펀딩 요율을 사용하는 방법은 무엇입니까?
2026-10-04 17:59:50
라이트코인 무기한 시장의 펀딩 비율 메커니즘 1. 라이트코인 무기한 선물의 펀딩 요율은 표시 가격과 지수 가격의 차이를 사용하여 8시간마다 계산되며, Binance, OKX, Bybit와 같은 주요 장소의 현물 환율을 통합한 프리미엄 지수로 조정됩니다. 2. 이율은 연...
레버리지 선물 포지션을 관리할 때 DOT 펀딩 요율을 어떻게 사용합니까?
2026-10-04 10:59:52
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 2020년 ...
TRX 무기한 계약에서 손절매 및 이익 실현을 설정하는 방법은 무엇입니까?
2026-10-03 01:59:43
TRX 무기한 계약의 손절매 및 이익 실현 메커니즘 이해 1. TRX 무기한 계약의 손절매(SL) 및 이익 실현(TP) 주문은 시장 평균가가 사용자가 정의한 임계값에 도달할 때 발동되는 조건부 시장 또는 지정가 주문으로 작동합니다. 이는 주문장에 직접 배치되지 않고 거...
TRX 미결제약정을 사용하여 레버리지 시장 활동을 모니터링하는 방법은 무엇입니까?
2026-10-07 03:00:13
TRX 미결제약정 기본 사항 이해 1. 미결제약정은 특정 시점에 시장 참가자가 보유하고 있는 장기 또는 단기 선물 계약의 총 수를 나타냅니다. 2. 매일 초기화되는 거래량과 달리 미결제약정은 포지션이 청산되거나 롤오버될 때까지 누적되어 지속됩니다. 3. 가격 상승과 함...
포지션에 진입하기 전에 TRX 선물 가격 알림을 설정하는 방법은 무엇입니까?
2026-10-04 22:40:29
TRX 선물 시장 데이터에 접근하기 1. TRX/USDT 또는 TRX/USD 선물 계약이 나열된 선호하는 암호화폐 파생상품 거래소에 로그인하세요. OKX, Bybit 및 Binance와 같은 주요 플랫폼은 TRX 무기한 계약에 대한 실시간 주문장 깊이, 24시간 자금 ...
강력한 거래량 돌파 후 TRX 무기한 계약을 거래하는 방법은 무엇입니까?
2026-10-06 19:20:06
TRX 무기한 계약 메커니즘 이해하기 1. 분산형 거래소의 TRX 영구 계약은 만료 날짜 없이 작동하므로 TRON 네트워크의 기본 토큰에 대해 무제한 레버리지 포지션을 사용할 수 있습니다. 2. 펀딩 요율 조정은 8시간마다 발생하며, 영구 가격과 TRX 지수 가격 간의...
무기한 선물 거래를 관리하기 위해 LTC 펀딩 요율을 사용하는 방법은 무엇입니까?
2026-10-04 17:59:50
라이트코인 무기한 시장의 펀딩 비율 메커니즘 1. 라이트코인 무기한 선물의 펀딩 요율은 표시 가격과 지수 가격의 차이를 사용하여 8시간마다 계산되며, Binance, OKX, Bybit와 같은 주요 장소의 현물 환율을 통합한 프리미엄 지수로 조정됩니다. 2. 이율은 연...
모든 기사 보기














