-
bitcoin $78074.098354 USD
1.89% -
ethereum $2299.014391 USD
2.17% -
tether $0.998449 USD
0.01% -
bnb $700.460149 USD
1.26% -
xrp $1.273048 USD
1.81% -
usd-coin $0.999762 USD
0.01% -
solana $92.929882 USD
1.25% -
tron $0.321666 USD
0.30% -
zcash $1272.523101 USD
12.65% -
hyperliquid $84.856242 USD
1.58% -
monero $637.212844 USD
3.50% -
dogecoin $0.074680 USD
1.23% -
unus-sed-leo $9.292529 USD
-0.02% -
chainlink $11.063098 USD
-0.05% -
cardano $0.190385 USD
1.97%
OpenZeppelin 계약을 사용하는 방법은 무엇입니까?
OpenZeppelin Contracts provides secure, reusable smart contracts for Ethereum, enabling developers to build tokens and dApps efficiently with standards like ERC-20 and ERC-721.
2025/07/21 05:35
OpenZeppelin 계약 이해
OpenZeppelin Contracts는 이더 리움 및 견고성을 지원하는 기타 블록 체인 플랫폼을위한 재사용 가능하고 안전한 스마트 계약 라이브러리입니다. 이 계약은 분산 된 응용 프로그램 (DAPP) 및 토큰 시스템 개발에 널리 사용됩니다. 이 라이브러리는 ERC-20, ERC-721 및 ERC-1155 와 같은 표준 구현과 함께 소유 가능, 일시 정지 및 안전과 같은 보안 관련 유틸리티를 제공합니다. 개발자는 OpenZeppelin을 사용하여 휠을 재창조하지 않고 스마트 계약이 감사하고 광범위하게 테스트 된 기초에 구축되도록합니다.
구현하기 전에 계약을 구조화하는 방법과 프로젝트에이를 가져 오는 방법을 이해하는 것이 중요합니다. 계약은 모듈 식이므로 필요한 것만 가져올 수 있습니다. 이 모듈성은 가스 비용을 줄이고 유지 관리를 향상시키는 데 도움이됩니다.
개발 환경 설정
OpenZeppelin 계약을 사용하려면 먼저 개발 환경을 설정해야합니다. JavaScript 패키지를 관리하는 데 필수적인 Node.js 및 NPM을 설치하여 시작하십시오. 설치되면 다음을 사용하여 새 프로젝트를 초기화하십시오.
npm init -y다음으로, 인기있는 이더 리움 개발 프레임 워크 인 트러플을 설치하거나 널리 사용되는 또 다른 도구 인 Hardhat :
npm install -g truffle또는NPM 설치-사브 데브 하드 하트
프레임 워크를 설정 한 후 NPM을 통해 OpenZeppelin 계약을 설치하십시오.
npm install @openzeppelin/contracts이 명령은 OpenZeppelin 라이브러리를 프로젝트의 node_modules 디렉토리에 설치합니다. 이제 개별 계약 또는 유틸리티 기능을 Solidity 파일로 직접 가져올 수 있습니다.
OpenZeppelin 계약 수입 및 연장
설치되면 OpenZeppelin 계약을 견고성 파일로 가져 오기 시작할 수 있습니다. 예를 들어 ERC-20 토큰을 구축하는 경우 ERC20.SOL 계약을 가져올 수 있습니다.
pragma solidity ^0.8.0;import '@OpenZeppelin/contracts/token/erc20/erc20.sol';계약 mytoken은 erc20 {
constructor(uint256 initialSupply) ERC20('MyToken', 'MTK') { _mint(msg.sender, initialSupply); }}
이 코드는 ERC20 계약을 OpenZeppelin에서 연장하는 새로운 토큰을 만듭니다. 생성자는 초기 공급 장치를 사용하여 _MINT 함수를 사용하여 배치자 주소에 할당합니다. 이것은 보일러 플레이트 코드를 작성하지 않고 토큰을 만드는 안전하고 테스트 된 방법입니다.
일시 정지성 또는 소유권 관리 와 같은 추가 기능이 필요한 경우 다른 계약을 수입하고 연장 할 수 있습니다.
import '@openzeppelin/contracts/access/Ownable.sol'; import '@openzeppelin/contracts/security/Pausable.sol';Contract MyPausableToken은 ERC20, 소유 가능, 일시 정지 가능 {constructor(uint256 initialSupply) ERC20('MyToken', 'MTK') { _mint(msg.sender, initialSupply); } function pause() public onlyOwner { _pause(); } function unpause() public onlyOwner { _unpause(); }}
이 접근 방식을 사용하면 안전하고 전투 테스트 구성 요소 로 계약을 작성할 수 있습니다.
OpenZeppelin과 계약을 배치합니다
계약이 작성되면 다음 단계는 배포입니다. 트러플을 사용하는 경우 마이그레이션/ 디렉토리에서 마이그레이션 파일을 만듭니다.
const MyPausableToken = artifacts.require('MyPausableToken'); module.exports = function (deployer) { deployer.deploy (MypausableToken, 1000000); };이 스크립트는 1,000,000 토큰 의 초기 공급으로 계약을 배치합니다. 다음을 사용하여 마이그레이션을 실행하십시오.
truffle migrate --networkHardHat을 사용하는 경우 스크립트/ 폴더에서 배포 스크립트를 만듭니다.
async function main() { const MyPausableToken = await ethers.getContractFactory('MyPausableToken'); const myToken = await MyPausableToken.deploy(1000000); await myToken.deployed();Console.log ( 'MyPausableToken 배포 :', myToken.address); }main (). catch ((오류) => { Console.error (오류); process.exitcode = 1; });
그런 다음 다음을 사용하여 배포합니다.
npx hardhat run scripts/deploy.js --networkTruffle-Config.js 또는 Hardhat.config.js 파일에 자금을 조달 한 Ethereum 계정과 올바른 네트워크 구성이 있는지 확인하십시오.
배포 된 계약과 상호 작용합니다
배포 후 Remix IDE , Metamask 또는 Ethers.js 와 같은 도구를 사용하여 계약과 상호 작용할 수 있습니다. ethers.js를 사용하는 경우 다음과 같이 계약에 연결하십시오.
const { ethers } = require('ethers');const provider = new ethers.providers.jsonrpcprovider ( 'https://mainnet.infura.io/v3/your_infura_project_id'); const 서명자 = new ethers.wallet ( 'your_private_key', 제공자); const contractAddress = 'your_contract_address'; const abi = 요구 사항 ( './ mypausabletoken.json'). abi;const contract = new ethers.contract (ContractAddress, ABI, 서명자);
비동기 함수 pausecontract () { const tx = await contract.pause (); TX.WAIT ()를 기다리고 있습니다. Console.log ( '계약 일시 정지'); }
서명자에게 가스 비용을 지불하기에 충분한 자금이 있는지 확인하십시오. Web3.js 또는 Etherscan 과 같은 블록 체인 탐험가를 사용하여 계약과 상호 작용할 수도 있습니다.
자주 묻는 질문
Q : OpenZeppelin 계약을 직접 수정할 수 있습니까? A : 계약을 기술적으로 수정할 수는 있지만 권장되지 않습니다 . 대신 필요한 경우 계약을 확장 하고 기능을 재정의해야합니다. 원래 계약을 수정하면 보안 취약점을 도입하거나 향후 업데이트와의 호환성을 중단 할 수 있습니다.
Q : OpenZeppelin으로 구축 된 계약을 어떻게 업그레이드합니까? A : OpenZeppelin은 송로 버섯 및 hardHat의 업그레이드 플러그인 을 제공하여 업그레이드 가능한 계약을 배포하고 관리합니다. 이 도구를 사용하면 상태를 잃지 않고 계약을 프록시 하고 논리를 업데이트 할 수 있습니다.
Q : OpenZeppelin Contracts는 Solidity 버전과 0.8.x 이상의 호환됩니까? A : 그렇습니다. OpenZeppelin 계약은 적극적으로 유지 관리되며 Soludity 0.8.x 이상을 지원합니다. 그러나 가져 오기 전에 항상 공식 문서 또는 NPM 에서 버전 호환성을 확인하십시오.
Q : 생산에서 OpenZeppelin 계약을 사용하는 것이 안전합니까? A : 그렇습니다. OpenZeppelin 계약은 생산 환경에서 널리 사용 되며 여러 제 3자가 감사했습니다. 그러나 Mainnet에 배포하기 전에 항상 자신의 감사 및 테스트를 수행하십시오.
부인 성명:info@kdj.com
제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!
본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.
- DarkSword 공격 도구는 iOS 취약점을 악용하여 암호화폐 지갑 보안에 큰 위협을 가하고 있습니다.
- 2026-11-05 04:45:02
- 프랑스 은행 암호화폐 손실: ZachXBT, Crédit Mutuel Arkéa에서 1억 3300만 달러 규모의 강도 사건 발견
- 2026-11-04 16:55:01
- 민주당이 미국 하원 통제권을 확보하고 중간 선거 속에서 의회의 새로운 시대를 열었습니다.
- 2026-11-04 16:45:01
- 미국 중간고사, 예측 시장 및 암호화폐 경쟁: 워싱턴의 미래에 대한 고액 베팅
- 2026-11-04 04:30:22
- 디지털 자산, 글로벌 금융 및 AI: DavosWeb3 및 그 이상에서 차세대 개척지 탐색
- 2026-11-04 04:30:22
- 광범위한 시장 문제로 인해 Avalanche AVAX 가격 하락; 기관의 관심은 여전히 강하다
- 2026-11-03 12:35:02
관련 지식
BTCUSDT 선물 포지션을 보유하는 데 드는 총 비용을 계산하는 방법
2026-10-26 04:06:35
BTCUSDT 선물 포지션의 총 비용 구성요소 1. BTCUSDT 선물 포지션을 보유하는 데 드는 총 비용에는 명시적 비용과 암묵적 비용이 모두 포함됩니다. 명시적 비용은 개설 및 마감 거래 수수료로 구성되는 반면, 암묵적 비용은 주로 시간이 지남에 따라 자금 요율 지...
XRPUSDT 펀딩 비율과 미결제약정을 함께 모니터링하는 방법
2026-10-20 18:39:42
XRPUSDT 무기한 계약의 펀딩 요율 메커니즘 1. XRPUSDT 영구 스왑의 펀딩 요율은 XRP와 USDT 표시 대출 시장 간의 프리미엄 지수와 이자율 차이를 사용하여 8시간마다 계산됩니다. 2. Binance, Bybit 및 OKX와 같은 거래소는 파생 상품 AP...
SOLUSDT 무기한 선물에 손익분기점 손실을 설정하는 방법
2026-10-23 09:34:18
손익분기점 손실 메커니즘 이해 1. 손익분기점 손절매는 포지션이 수익성 있게 움직일 때 위쪽으로 조정되어 실행 시 순손실이 0으로 고정되는 동적 주문입니다. 2. 거래가 미리 정의된 수익 기준점(일반적으로 초기 위험 또는 진입 수수료의 1배~2배)에 도달한 후에만 작동...
ETHUSDT 거래에 바이낸스 선물 계산기를 사용하는 방법
2026-10-21 02:00:11
바이낸스 선물 계산기 인터페이스 이해 1. 계산기는 주문 입력 패널 아래 ETHUSDT 영구 계약 페이지를 통해 액세스할 수 있는 바이낸스 선물 거래 인터페이스에 직접 내장되어 있습니다. 2. 사용자가 포지션 크기, 진입 가격, 레버리지 수준, 이익실현 또는 손절매 수...
선물 청산 전 BTCUSDT 표시 가격을 확인하는 방법
2026-10-26 12:20:18
BTCUSDT 선물의 시장 평균 가격 이해 1. 시장평균가는 변동성이 큰 시장 상황에서 불공정한 청산을 방지하기 위해 거래소가 계산한 가격입니다. 2. 지수 가격, 펀딩 요율 등 다양한 출처에서 도출된 공정하고 안정적인 기준 가격을 반영합니다. 3. 시장 평균가는 마지...
TRUMPUSDT 무기한 계약의 레버리지를 조정하는 방법
2026-10-30 22:19:37
TRUMPUSDT 무기한 계약 메커니즘 이해 1. TRUMPUSDT는 여러 Tier-1 파생상품 거래소에 상장된 주제별 무기한 선물 계약으로, 기본 자산 펀더멘털보다는 미국 정치적 서술에 대한 가격 심리를 추적하도록 설계되었습니다. 2. USDT를 견적 및 마진 자산으...
BTCUSDT 선물 포지션을 보유하는 데 드는 총 비용을 계산하는 방법
2026-10-26 04:06:35
BTCUSDT 선물 포지션의 총 비용 구성요소 1. BTCUSDT 선물 포지션을 보유하는 데 드는 총 비용에는 명시적 비용과 암묵적 비용이 모두 포함됩니다. 명시적 비용은 개설 및 마감 거래 수수료로 구성되는 반면, 암묵적 비용은 주로 시간이 지남에 따라 자금 요율 지...
XRPUSDT 펀딩 비율과 미결제약정을 함께 모니터링하는 방법
2026-10-20 18:39:42
XRPUSDT 무기한 계약의 펀딩 요율 메커니즘 1. XRPUSDT 영구 스왑의 펀딩 요율은 XRP와 USDT 표시 대출 시장 간의 프리미엄 지수와 이자율 차이를 사용하여 8시간마다 계산됩니다. 2. Binance, Bybit 및 OKX와 같은 거래소는 파생 상품 AP...
SOLUSDT 무기한 선물에 손익분기점 손실을 설정하는 방법
2026-10-23 09:34:18
손익분기점 손실 메커니즘 이해 1. 손익분기점 손절매는 포지션이 수익성 있게 움직일 때 위쪽으로 조정되어 실행 시 순손실이 0으로 고정되는 동적 주문입니다. 2. 거래가 미리 정의된 수익 기준점(일반적으로 초기 위험 또는 진입 수수료의 1배~2배)에 도달한 후에만 작동...
ETHUSDT 거래에 바이낸스 선물 계산기를 사용하는 방법
2026-10-21 02:00:11
바이낸스 선물 계산기 인터페이스 이해 1. 계산기는 주문 입력 패널 아래 ETHUSDT 영구 계약 페이지를 통해 액세스할 수 있는 바이낸스 선물 거래 인터페이스에 직접 내장되어 있습니다. 2. 사용자가 포지션 크기, 진입 가격, 레버리지 수준, 이익실현 또는 손절매 수...
선물 청산 전 BTCUSDT 표시 가격을 확인하는 방법
2026-10-26 12:20:18
BTCUSDT 선물의 시장 평균 가격 이해 1. 시장평균가는 변동성이 큰 시장 상황에서 불공정한 청산을 방지하기 위해 거래소가 계산한 가격입니다. 2. 지수 가격, 펀딩 요율 등 다양한 출처에서 도출된 공정하고 안정적인 기준 가격을 반영합니다. 3. 시장 평균가는 마지...
TRUMPUSDT 무기한 계약의 레버리지를 조정하는 방법
2026-10-30 22:19:37
TRUMPUSDT 무기한 계약 메커니즘 이해 1. TRUMPUSDT는 여러 Tier-1 파생상품 거래소에 상장된 주제별 무기한 선물 계약으로, 기본 자산 펀더멘털보다는 미국 정치적 서술에 대한 가격 심리를 추적하도록 설계되었습니다. 2. USDT를 견적 및 마진 자산으...
모든 기사 보기














