-
Bitcoin
$118100
0.41% -
Ethereum
$3770
5.86% -
XRP
$3.502
3.06% -
Tether USDt
$1.000
0.00% -
BNB
$754.1
3.51% -
Solana
$181.8
3.58% -
USDC
$0.9999
0.01% -
Dogecoin
$0.2706
12.80% -
Cardano
$0.8688
5.90% -
TRON
$0.3151
-0.93% -
Hyperliquid
$46.07
4.63% -
Stellar
$0.4693
2.38% -
Sui
$3.912
3.19% -
Chainlink
$19.38
6.62% -
Hedera
$0.2750
4.03% -
Bitcoin Cash
$544.8
6.34% -
Avalanche
$25.12
3.54% -
Shiba Inu
$0.00001558
5.35% -
Litecoin
$116.7
5.11% -
UNUS SED LEO
$8.991
0.06% -
Toncoin
$3.284
2.83% -
Polkadot
$4.508
3.97% -
Uniswap
$10.67
6.54% -
Ethena USDe
$1.001
0.00% -
Monero
$323.7
0.66% -
Pepe
$0.00001410
6.30% -
Bitget Token
$4.967
1.74% -
Dai
$0.9999
0.00% -
Aave
$326.2
3.85% -
Bittensor
$421.9
2.51%
OpenZeppelin 계약을 사용하는 방법은 무엇입니까?
OpenZeppelin Contracts는 Ethereum에 안전하고 재사용 가능한 스마트 계약을 제공하여 개발자가 ERC-20 및 ERC-721과 같은 표준을 효율적으로 토큰 및 DAPP을 구축 할 수 있도록합니다.
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';
Contract MyPausableToken은 ERC20, 소유 가능, 일시 정지 가능 {
import '@openzeppelin/contracts/security/Pausable.sol';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 --network
HardHat을 사용하는 경우 스크립트/ 폴더에서 배포 스크립트를 만듭니다.
async function main() {
Console.log ( 'MyPausableToken 배포 :', myToken.address);
const MyPausableToken = await ethers.getContractFactory('MyPausableToken');
const myToken = await MyPausableToken.deploy(1000000);
await myToken.deployed();
}main (). catch ((오류) => {
Console.error (오류);
process.exitcode = 1;
});
그런 다음 다음을 사용하여 배포합니다.
npx hardhat run scripts/deploy.js --network
Truffle-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)로 연락주시면 즉시 삭제하도록 하겠습니다.
- Cardano (ADA) 비트 코인 ATH 버즈 속에서 가격이 급증합니다. 다음은 무엇입니까?
- 2025-07-21 12:30:11
- 영국 비트 코인 및 판매 : 영국의 암호화 버즈 디코딩
- 2025-07-21 12:30:11
- 이더 리움 NFT 토치 : 10 년간의 혁신을 축하합니다
- 2025-07-21 12:50:12
- Bitcoin, Ethereum, Crypto Revound : 황소가 도시에 다시 있습니까?
- 2025-07-21 12:50:12
- Binance, Seed Tag 및 Tokens : Buzz는 무엇입니까?
- 2025-07-21 12:55:12
- 코인베이스, 암호화 및 법률 : 새로운 재무 시대?
- 2025-07-21 13:10:11
관련 지식

제작자 대 테이커 요금이란 무엇입니까?
2025-07-19 01:14:23
cryptocurrency 교환 수수료의 기본 사항 이해 cryptocurrency 거래의 세계에서, Maker vs Taker 수수료는 모든 거래자가 이해해야하는 기본 개념입니다. 이 수수료는 주문 유형에 따라 사용자와의 교환으로 청구됩니다. 제작자와 테이커 수수료 ...

CME의 미래 데이터를 분석하는 방법은 무엇입니까?
2025-07-19 17:22:11
CME의 미래 이해 Bitcoin Bitcoin CME 그룹 (Chicago Mercantile Exchange) 의 미래는 규제 금융 상품을 대표하여 투자자가 기본 자산을 소유하지 않고 Bitcoin의 미래 가격을 추측 할 수있게합니다. 이러한 선물 계약은 중앙 대상...

Bitcoin 계약의 고급 주문 유형
2025-07-21 13:14:41
Bitcoin 계약의 고급 주문 유형 이해 Bitcoin 선물 거래 세계에서 고급 주문 유형은 위험 관리, 전략 자동화 및 실행 효율성 향상에 중요한 역할을합니다. 이러한 주문 유형은 기본 시장을 넘어서서 주문을 제한하며 거래자는 직책에 입력하거나 종료하기위한 조건부 ...

암호화 선물 거래에서 일반적인 실수
2025-07-20 21:56:36
위험 관리없이 과도하게 보입니다 암호화 선물 거래에서 가장 일반적인 실수 중 하나는 과도하게 진행 됩니다. 거래자들은 종종 높은 레버리지를 사용하면 이익을 크게 증가시킬 것이라고 생각하지만, 이는 또한 상당한 손실의 위험을 증가시킵니다. 중단 손실 주문을 설정하지 못하...

청산 가격을 이해하는 방법?
2025-07-19 22:00:19
cryptocurrency 거래의 청산 가격은 얼마입니까? 암호 화폐 미래 및 마진 거래 영역에서 청산 가격은 거래자의 위치가 교환에 의해 자동으로 폐쇄되는 특정 가격 수준을 나타냅니다. 이는 상인이 레버리지 위치를 유지하기 위해 필요한 마진을 충족 할 수 없을 때 발...

Bitcoin 선물의 최대 레버리지는 얼마입니까?
2025-07-20 15:42:56
Bitcoin 미래의 레버리지 이해 Bitcoin 선물의 레버리지는 차용 자본을 사용하여 잠재적 인 투자 수익을 증가시키는 것을 말합니다. 거래자는 상대적으로 적은 양의 자본으로 더 큰 지위를 통제 할 수 있습니다. Bitcoin 선물 거래 의 맥락에서, 레버리지는 거...

제작자 대 테이커 요금이란 무엇입니까?
2025-07-19 01:14:23
cryptocurrency 교환 수수료의 기본 사항 이해 cryptocurrency 거래의 세계에서, Maker vs Taker 수수료는 모든 거래자가 이해해야하는 기본 개념입니다. 이 수수료는 주문 유형에 따라 사용자와의 교환으로 청구됩니다. 제작자와 테이커 수수료 ...

CME의 미래 데이터를 분석하는 방법은 무엇입니까?
2025-07-19 17:22:11
CME의 미래 이해 Bitcoin Bitcoin CME 그룹 (Chicago Mercantile Exchange) 의 미래는 규제 금융 상품을 대표하여 투자자가 기본 자산을 소유하지 않고 Bitcoin의 미래 가격을 추측 할 수있게합니다. 이러한 선물 계약은 중앙 대상...

Bitcoin 계약의 고급 주문 유형
2025-07-21 13:14:41
Bitcoin 계약의 고급 주문 유형 이해 Bitcoin 선물 거래 세계에서 고급 주문 유형은 위험 관리, 전략 자동화 및 실행 효율성 향상에 중요한 역할을합니다. 이러한 주문 유형은 기본 시장을 넘어서서 주문을 제한하며 거래자는 직책에 입력하거나 종료하기위한 조건부 ...

암호화 선물 거래에서 일반적인 실수
2025-07-20 21:56:36
위험 관리없이 과도하게 보입니다 암호화 선물 거래에서 가장 일반적인 실수 중 하나는 과도하게 진행 됩니다. 거래자들은 종종 높은 레버리지를 사용하면 이익을 크게 증가시킬 것이라고 생각하지만, 이는 또한 상당한 손실의 위험을 증가시킵니다. 중단 손실 주문을 설정하지 못하...

청산 가격을 이해하는 방법?
2025-07-19 22:00:19
cryptocurrency 거래의 청산 가격은 얼마입니까? 암호 화폐 미래 및 마진 거래 영역에서 청산 가격은 거래자의 위치가 교환에 의해 자동으로 폐쇄되는 특정 가격 수준을 나타냅니다. 이는 상인이 레버리지 위치를 유지하기 위해 필요한 마진을 충족 할 수 없을 때 발...

Bitcoin 선물의 최대 레버리지는 얼마입니까?
2025-07-20 15:42:56
Bitcoin 미래의 레버리지 이해 Bitcoin 선물의 레버리지는 차용 자본을 사용하여 잠재적 인 투자 수익을 증가시키는 것을 말합니다. 거래자는 상대적으로 적은 양의 자본으로 더 큰 지위를 통제 할 수 있습니다. Bitcoin 선물 거래 의 맥락에서, 레버리지는 거...
모든 기사 보기
