-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
바이낸스 스마트 체인(BSC)에서 스마트 계약을 생성하고 배포하는 방법은 무엇입니까?
To deploy an ERC-20 token on BSC, set up Hardhat with BSC testnet config, write secure Solidity code (v0.8.20+), test locally, then deploy using a funded MetaMask wallet and verify on BscScan.
2026/01/16 08:39
개발 환경 설정
1. 스마트 계약 도구에 필요한 JavaScript 종속성을 관리하려면 Node.js 및 npm을 설치하십시오.
2. npm init를 사용하여 새 프로젝트를 초기화하고 Hardhat을 기본 개발 프레임워크로 설치합니다.
3. 개인 키나 니모닉을 통해 RPC URL, 체인 ID(테스트넷의 경우 97, 메인넷의 경우 56) 및 계정을 지정하여 hardhat.config.js 에 BSC 테스트넷 구성을 추가합니다.
4. 향상된 테스트 기능을 위해 @nomiclabs/hardhat-ethers , ethereum-waffle 및 hardhat-gas-reporter를 포함한 필수 플러그인을 설치하십시오.
5. 개인 키와 API 엔드포인트를 버전 제어에 노출하지 않고 안전하게 저장하도록 .env 파일을 구성합니다.
스마트 계약 코드 작성
1. BSC의 EVM 호환성 수준(예: ^0.8.20)과 호환되는 SPDX 라이선스 식별자 및 pragma 버전을 사용하여 contract/ 아래에 Solidity 파일(예: Token.sol )을 생성합니다.
2. totalSupply , BalanceOf , transfer , Approval 및 transferFrom 과 같은 ERC-20 표준 기능을 구현합니다.
3. 재진입이나 오버플로 취약점이 존재하지 않도록 구성 중에 이름, 기호 및 소수와 같은 불변 매개변수를 정의합니다.
4. 내장된 오버플로 검사로 인해 Solidity 0.8+에서는 SafeMath를 사용할 필요가 없지만 명시적인 require 문은 중요한 상태 전환을 보호해야 합니다.
5. onlyOwner 와 같은 사용자 정의 수정자를 포함하여 발행 또는 전송 일시 중지와 같은 관리 기능에 대한 액세스를 제한합니다.
로컬에서 컴파일 및 테스트
1. npx hardhat 컴파일을 실행하여 Solidity 소스 파일에서 ABI 및 바이트코드를 생성합니다.
2. ethers.js 및 Waffle matcher를 사용하여 test/ 에서 테스트 스크립트를 작성하여 잔액 업데이트, 이벤트 방출 및 되돌리기 조건을 확인합니다.
3. 가스 비용 없이 거래 동작을 시뮬레이션하기 위해 Hardhat Network에 대해 npx hardhat 테스트 로 테스트를 실행합니다.
4. 단위 테스트 중, 특히 PancakeSwap 라우터와 같은 외부 프로토콜과 상호 작용할 때 종속성 주입을 위한 모의 계약을 배포합니다.
5. Solidity-Coverage 플러그인을 사용하여 적용 범위를 검증하여 배포 전에 모든 분기 및 엣지 케이스가 실행되는지 확인합니다.
BSC 테스트넷에 배포
1. 체인 ID 97로 구성된 MetaMask 지갑을 사용하여 BSC 테스트넷 포셋 에서 테스트 BNB를 획득합니다.
2. Alchemy 또는 QuickNode 엔드포인트를 통해 BSC 테스트넷에 연결하는 scripts/deploy.js 에 배포 스크립트를 작성합니다.
3. 환경에 저장된 개인 키에서 파생된 지갑 인스턴스로 초기화된 에테르 공급자를 사용하여 트랜잭션에 서명하고 브로드캐스트합니다.
4. 성공적인 계약 생성을 확인하기 위해 반환된 트랜잭션 해시를 사용하여 testnet.bscscan.com 에서 트랜잭션 상태를 모니터링합니다.
5. 배포 중에 사용된 정확한 컴파일러 버전, 최적화 설정 및 생성자 인수를 제출하여 BscScan의 소스 코드를 확인합니다.
배포된 계약과 상호 작용
1. ethers.js를 사용하여 계약 ABI를 프런트엔드 애플리케이션으로 가져오고 BSC 네트워크가 선택된 MetaMask에 연결합니다.
2. 트랜잭션에 서명하지 않고 계약 인스턴스를 통해 직접 BalanceOf 와 같은 읽기 전용 함수를 호출합니다.
3. 적절한 가스 한도 및 수수료로 서명된 거래를 구성하고 전송하여 전송 과 같은 상태 변경 작업을 시작합니다.
4. UI를 실시간으로 업데이트하기 위해 contract.on()을 사용하여 Transfer 또는 Approval 과 같은 이벤트를 수신합니다.
5. PancakeSwap의 라우터 계약을 통해 토큰 허용량 및 라우팅 스왑을 승인하여 BSC 기반 분산형 거래소와 통합합니다.
자주 묻는 질문
Q: 이더리움 메인넷용으로 컴파일된 계약을 BSC에 직접 배포할 수 있나요? A: 예, BSC는 EVM과 호환되고 동일한 바이트코드를 지원하기 때문입니다. 그러나 마이그레이션하기 전에 가스 한도와 차단 시간에 미치는 영향을 확인하세요.
Q: BSC 테스트넷에서 '가스 부족'으로 인해 배포 트랜잭션이 실패하는 이유는 무엇입니까? A: 이는 가스 한도가 너무 낮거나 계약에 비용이 많이 드는 루프나 무제한 스토리지 쓰기가 포함된 경우에 자주 발생합니다. 배포 스크립트에서 gasLimit를 늘리고 논리 복잡성을 검토합니다.
Q: BEP-20 확장과 같은 BSC 관련 기능을 어떻게 처리합니까? A: getOwner 또는 renounceOwnership 과 같은 BEP-20 추가 기능을 사용하여 ERC-20 구현을 확장하여 BSC가 권장하는 인터페이스 표준을 따르도록 하세요.
Q: 배포 후 BscScan에서 계약을 반드시 확인해야 합니까? A: 검증은 기능에는 필요하지 않지만 투명성, 감사 가능성, 검증된 소스 코드에 의존하는 지갑 및 탐색기와의 통합에는 필수적입니다.
부인 성명:info@kdj.com
제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!
본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.
- 슈퍼볼 LX: 최근 헤드(Heads)의 급증에도 불구하고 동전 던지기 추세는 뒤처져 있습니다.
- 2026-01-31 07:30:02
- 호주 탐사자의 고대 발견: 일본 유물 표면, 골드러시 전설 재작성
- 2026-01-31 07:20:01
- 미국 조폐국, 주화 가격 조정: 클래드 컬렉터 세트 특별 기념일 출시로 대폭 인상
- 2026-01-31 07:20:01
- THORChain, 비트코인 DEX 정의에 대해 CoinGecko와 격렬한 논쟁을 촉발: 진정한 분산화를 위한 전투
- 2026-01-31 07:15:01
- 판타지 풋볼 프렌지: Premier League Round 24의 주요 추천 및 조언
- 2026-01-31 06:40:02
- 시장 변동성 속에서 2026년 암호화폐 급락 가능성에 대비
- 2026-01-31 07:15:01
관련 지식
LayerZero 계약으로 크로스체인 메시지를 실행하는 방법은 무엇입니까?
2026-01-18 13:19:39
LayerZero 아키텍처 이해 1. LayerZero는 신뢰할 수 있는 중개자나 래핑된 자산에 의존하지 않고 블록체인 간의 통신을 가능하게 하는 경량의 무허가 상호 운용성 프로토콜로 작동합니다. 2. 각 체인에 배포된 Ultra Light Node(ULN)를 활용하여...
안전한 서명 검증을 위해 EIP-712를 구현하는 방법은 무엇입니까?
2026-01-20 22:20:26
EIP-712 개요 및 핵심 목적 1. EIP-712는 이더리움 애플리케이션에서 형식화된 구조화된 데이터 해싱 및 서명에 대한 표준을 정의합니다. 2. 서명 요청 시 원시 16진수 문자열 대신 사람이 읽을 수 있는 도메인 및 메시지 필드를 지갑에 표시할 수 있습니다. ...
새로운 계약과 상호 작용하여 에어드랍 자격을 얻는 방법은 무엇입니까?
2026-01-24 21:00:23
계약 상호 작용 요구 사항 이해 1. 대부분의 에어드롭 캠페인은 Ethereum, Arbitrum 또는 Base와 같은 지원되는 블록체인에 배포된 스마트 계약과의 직접적인 상호 작용을 요구합니다. 2. 상호 작용에는 일반적으로 dApp 인터페이스에 연결된 지갑을 사용하...
보안 경고에 대한 스마트 계약을 모니터링하는 방법은 무엇입니까?
2026-01-21 07:59:57
온체인 모니터링 도구 1. Etherscan 및 Blockscout와 같은 블록체인 탐색기를 사용하면 계약 바이트 코드, 트랜잭션 로그 및 내부 호출을 실시간으로 검사할 수 있습니다. 2. 온체인 데이터를 신뢰하기 전에 계약 확인 상태를 확인해야 합니다. 확인되지 않은...
자동 결제 계약을 설정하고 자금을 조달하는 방법은 무엇입니까?
2026-01-26 08:59:35
스마트 계약 배포 이해 1. 개발자는 가스 효율성 및 보안 요구 사항을 기반으로 Ethereum, Polygon 또는 Arbitrum과 같은 호환 가능한 블록체인 플랫폼을 선택해야 합니다. 2. Solidity는 특히 반복 또는 조건부 이체를 위한 결제 자동화 로직 작...
OpenZeppelin 계약을 사용하여 안전한 dApp을 구축하는 방법은 무엇입니까?
2026-01-18 11:19:49
OpenZeppelin 계약 기본 사항 이해 1. OpenZeppelin Contracts는 Ethereum 및 EVM 호환 블록체인용으로 구축된 재사용 가능한 커뮤니티 감사 스마트 계약 구성 요소 라이브러리입니다. 2. 라이브러리의 각 계약은 검사-효과-상호작용 패턴...
LayerZero 계약으로 크로스체인 메시지를 실행하는 방법은 무엇입니까?
2026-01-18 13:19:39
LayerZero 아키텍처 이해 1. LayerZero는 신뢰할 수 있는 중개자나 래핑된 자산에 의존하지 않고 블록체인 간의 통신을 가능하게 하는 경량의 무허가 상호 운용성 프로토콜로 작동합니다. 2. 각 체인에 배포된 Ultra Light Node(ULN)를 활용하여...
안전한 서명 검증을 위해 EIP-712를 구현하는 방법은 무엇입니까?
2026-01-20 22:20:26
EIP-712 개요 및 핵심 목적 1. EIP-712는 이더리움 애플리케이션에서 형식화된 구조화된 데이터 해싱 및 서명에 대한 표준을 정의합니다. 2. 서명 요청 시 원시 16진수 문자열 대신 사람이 읽을 수 있는 도메인 및 메시지 필드를 지갑에 표시할 수 있습니다. ...
새로운 계약과 상호 작용하여 에어드랍 자격을 얻는 방법은 무엇입니까?
2026-01-24 21:00:23
계약 상호 작용 요구 사항 이해 1. 대부분의 에어드롭 캠페인은 Ethereum, Arbitrum 또는 Base와 같은 지원되는 블록체인에 배포된 스마트 계약과의 직접적인 상호 작용을 요구합니다. 2. 상호 작용에는 일반적으로 dApp 인터페이스에 연결된 지갑을 사용하...
보안 경고에 대한 스마트 계약을 모니터링하는 방법은 무엇입니까?
2026-01-21 07:59:57
온체인 모니터링 도구 1. Etherscan 및 Blockscout와 같은 블록체인 탐색기를 사용하면 계약 바이트 코드, 트랜잭션 로그 및 내부 호출을 실시간으로 검사할 수 있습니다. 2. 온체인 데이터를 신뢰하기 전에 계약 확인 상태를 확인해야 합니다. 확인되지 않은...
자동 결제 계약을 설정하고 자금을 조달하는 방법은 무엇입니까?
2026-01-26 08:59:35
스마트 계약 배포 이해 1. 개발자는 가스 효율성 및 보안 요구 사항을 기반으로 Ethereum, Polygon 또는 Arbitrum과 같은 호환 가능한 블록체인 플랫폼을 선택해야 합니다. 2. Solidity는 특히 반복 또는 조건부 이체를 위한 결제 자동화 로직 작...
OpenZeppelin 계약을 사용하여 안전한 dApp을 구축하는 방법은 무엇입니까?
2026-01-18 11:19:49
OpenZeppelin 계약 기본 사항 이해 1. OpenZeppelin Contracts는 Ethereum 및 EVM 호환 블록체인용으로 구축된 재사용 가능한 커뮤니티 감사 스마트 계약 구성 요소 라이브러리입니다. 2. 라이브러리의 각 계약은 검사-효과-상호작용 패턴...
모든 기사 보기














