-
Bitcoin
$121400
2.62% -
Ethereum
$4263
0.93% -
XRP
$3.274
1.85% -
Tether USDt
$0.9999
-0.03% -
BNB
$810.5
0.91% -
Solana
$182.9
1.16% -
USDC
$0.9999
0.00% -
Dogecoin
$0.2336
-0.07% -
TRON
$0.3410
0.26% -
Cardano
$0.8125
1.64% -
Hyperliquid
$45.82
4.75% -
Chainlink
$21.69
-2.15% -
Stellar
$0.4510
2.09% -
Sui
$3.826
-0.35% -
Bitcoin Cash
$591.0
4.59% -
Hedera
$0.2614
1.12% -
Ethena USDe
$1.001
-0.03% -
Avalanche
$23.98
1.37% -
Litecoin
$125.4
3.81% -
Toncoin
$3.369
0.72% -
UNUS SED LEO
$9.019
-0.21% -
Shiba Inu
$0.00001347
-0.04% -
Uniswap
$11.01
2.87% -
Polkadot
$4.038
-0.10% -
Cronos
$0.1712
7.47% -
Ethena
$0.8196
10.04% -
Dai
$0.0000
-0.01% -
Monero
$276.4
-0.02% -
Bitget Token
$4.465
-0.29% -
Pepe
$0.00001201
-0.67%
스마트 계약을 어떻게 개발합니까?
스마트 계약은 조건이 충족 될 때 계약 조건을 시행하여 신뢰와 투명성을 보장하는 블록 체인의 자체 실행 프로그램입니다.
2025/08/11 10:50

스마트 계약의 기본 사항 이해
스마트 계약은 사전 정의 된 조건이 충족 될 때 계약 조건을 자동으로 시행하는 블록 체인에 배치 된 자체 실행 프로그램입니다. 이 계약은 일단 배치 한 후에 불변 할 수 없으므로 변경 될 수 없어 신뢰와 투명성을 보장합니다. 스마트 계약을 개발하는 데 가장 널리 사용되는 플랫폼은 Solidity 프로그래밍 언어를 지원하는 Ethereum 입니다. 코드를 작성하기 전에 분산 , 가스 수수료 및 거래 최종성과 같은 핵심 블록 체인 개념을 이해하는 것이 필수적입니다. 스마트 계약과의 각 상호 작용은 가스를 소비하며, 이는 블록 체인의 기본 토큰 (예 : Ethere on Ethereum)에서 지불됩니다. 개발자는 사용자의 비용을 최소화하기 위해 효율적으로 계약을 설계해야합니다.
개발 환경 설정
스마트 계약 개발을 시작하려면 적절한 개발 환경을 구성해야합니다. 대부분의 블록 체인 개발 도구의 전제 조건 인 Node.js 및 NPM을 설치하여 시작하십시오. 다음으로 두 개의 인기있는 이더 리움 개발 프레임 워크 인 Hardhat 또는 Truffle을 설치하십시오. 이 안내서는 하드 하트를 사용할 것입니다.
-
npm install --hardhat
사용하여 HardHat을 설치하십시오 - 새 프로젝트 초기화 :
npx hardhat
- 프롬프트되면 'JavaScript 프로젝트 만들기'를 선택하십시오
- 필수 플러그인을 설치하십시오 :
npm install --save-dev @nomicfoundation/hardhat-toolbox
또한 구문 하이라이트 및 오류 감지 용 Solidity Extension이 있는 Visual Studio Code 와 같은 코드 편집기가 필요합니다. 또한 브라우저 지갑 인 메타 마스크를 설치하여 테스트 네트워크와 상호 작용하십시오. 연금술 또는 Infura 와 같은 서비스의 엔드 포인트를 사용하여 사용자 정의 RPC 네트워크를 추가하여 Goerli 또는 Sepolia 와 같은 테스트 네트워크에 연결하도록 메타 마스크를 구성하십시오.
첫 번째 스마트 계약서를 견고하게 작성합니다
contracts
디렉토리 내부에서 SimpleStorage.sol
이라는 새 파일을 만듭니다. Solidity 버전을 선언하여 시작하십시오.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract
키워드를 사용하여 계약을 정의하십시오.
contract SimpleStorage {
uint256 private data; function setData(uint256 _data) public { data = _data; } function getData() public view returns (uint256) { return data; }
}
이 계약에는 유형 uint256
의 상태 변수 data
, 그 값을 설정하는 함수, 다른 사람은이를 검색합니다. private
키워드는 계약 외부에서 data
에 직접 액세스 할 수 없도록합니다. public
기능을 외부에서 호출 할 수 있습니다. getData
의 view
Modifier는 블록 체인 상태를 수정하지 않으므로 외부로 호출 할 때 읽기 전용 및 가스가 없습니다.
스마트 계약을 컴파일하고 테스트합니다
배포 전에 Hardhat을 사용하여 계약을 수집합니다.
- 터미널에서
npx hardhat compile
실행하십시오 - 성공하면 아티팩트가
artifacts
폴더에 나타납니다
다음으로 test
디렉토리에 테스트 스크립트 (예 : SimpleStorage.test.js
:
const { expect } = require('chai');
설명 ( 'simplestorage', function () {
const { ethers } = require('hardhat');
IT ( '올바른 초기 값을 반환해야한다', Async function () {const SimpleStorage = await ethers.getContractFactory('SimpleStorage'); const simpleStorage = await SimpleStorage.deploy(); await simpleStorage.deployed(); expect(await simpleStorage.getData()).to.equal(0);
});
( '저장된 값을 업데이트해야한다', Async function () {
const simpleStorage = await ethers.getContractAt('SimpleStorage', /* deployed address */); await simpleStorage.setData(42); expect(await simpleStorage.getData()).to.equal(42);
});
});
테스트 실행 : npx hardhat test
. 성공적인 테스트 출력은 계약 로직이 사운드인지 확인합니다. 배포 전에 버그를 잡는 데 테스트가 중요합니다.
계약을 테스트 네트워크에 배포합니다
deploy.js
라는 scripts
폴더에서 배포 스크립트를 만듭니다.
const { ethers } = require('hardhat');
비동기 기능 main () {
const simplestorage = await ethers.getContractFactory ( 'simplestorage');
const simplestorage = simplestorage.deploy ();
simplestorage.deployed ()를 기다립니다.console.log ( '계약 배포 :', simplestorage.address);
}main (). catch ((오류) => {
Console.error (오류);
process.exitcode = 1;
});
테스트 네트워크 및 지갑 자격 증명을 포함하도록 hardhat.config.js
구성하십시오.
require('@nomicfoundation/hardhat-toolbox');
module.exports = {
const INFURA_API_KEY = 'your-infura-key';
const PRIVATE_KEY = 'your-wallet-private-key';
견고성 : '0.8.0',
네트워크 : {goerli: { url: `https://goerli.infura.io/v3/${INFURA_API_KEY}`, accounts: [PRIVATE_KEY] }
}
};
자리 표시자를 실제 값으로 교체하십시오. 그런 다음 배포 : npx hardhat run scripts/deploy.js --network goerli
. 성공하면 계약 주소가 표시됩니다. Etherscan 과 같은 블록 체인 탐색기의 주소를 확인하여 배포를 확인하십시오.
배포 된 계약과 상호 작용합니다
배포 후 Ethers.js를 사용하여 또는 Metamask를 통해 직접 계약과 상호 작용하십시오. node.js 스크립트에서 :
const { ethers } = require('hardhat');
Async 함수 interact () {
const contractAddress = '0x...';
const contractABI = [ / ABI from artifacts / ];
Const Provider = New Ethers.providers.web3provider (Window.Ethereum);
AWAIT PROVIDER.SEND ( 'eth_RequestAccounts', []);
const signer = provider.getSigner ();
const contract = new ethers.contract (ContractAddress, Contractabi, 서명자);계약을 기다립니다. 세트 데이터 (100);
const value = await contract.getData ();
console.log ( '현재 값 :', value.toString ());
}
또는 지갑을 연결하고 '쓰기 계약'탭을 사용하여 Etherscan을 사용하여 계약서에 쓰십시오. ABI가 Etherscan에서 검증되어 작동하도록 확인하십시오.
자주 묻는 질문
SPDX 라이센스 식별자의 목적은 무엇입니까?
SPDX-License-Identifier는 스마트 계약이 공개되는 오픈 소스 라이센스를 지정합니다. 법적 명확성과 투명성을 위해 그것을 포함시키는 것이 가장 좋은 관행입니다. 공통 라이센스에는 MIT, GPL 및 Apache-2.0이 포함됩니다.
견고성의 오류를 어떻게 처리합니까?
요구 , 반복 및 주장 진술을 사용하십시오. require(condition, 'Error message')
사용자 입력을 확인하고 false 인 경우 메시지로 되돌아갑니다. revert()
수동으로 실행을 중단하기 위해 사용될 수 있습니다. assert
는 내부 오류를위한 것이며 남은 모든 가스를 소비합니다.
배포 후 스마트 계약을 업그레이드 할 수 있습니까?
불변성으로 인해 직접 수정이 불가능합니다. 그러나 UUPS 또는 Transparent Proxy 와 같은 프록시 패턴은 실행 가능한 논리에서 데이터 저장을 분리하여 로직 업그레이드를 허용합니다. 이를 위해서는 개발 중에 신중한 건축 계획이 필요합니다.
가스 추정이란 무엇이며 왜 중요한가요?
가스 추정은 거래가 소비 할 가스의 양을 예측합니다. 가스 외 오류를 방지하고 사용자가 거래 비용을 이해하도록 도와줍니다. Hardhat과 같은 도구는 가스를 자동으로 추정하지만 복잡한 기능에는 estimateGas()
사용하여 수동 검사가 필요할 수 있습니다.
부인 성명:info@kdj.com
제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!
본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.
- Pudgy Penguins, Bitcoin Penguins 및 $ 22m Meme Coin Mania : 뉴욕의 관점
- 2025-08-11 17:10:11
- Bitcoin L2 가열 : Satlayer (Slay)는 Layer-2 Boom을 중심으로 Kucoin에 목록
- 2025-08-11 16:50:12
- 이더 리움, 코인 시가 총액 및 Solfart 토큰 : 암호화 우주의 야생 타기
- 2025-08-11 17:50:12
- ETH 파 라이딩 : Goldenmining의 ETH 계약 및 가격 급증
- 2025-08-11 17:55:12
- Bitcoin Price Eyes New All-Time High : $ 122K 저항을 깨뜨릴 수 있습니까?
- 2025-08-11 16:30:12
- 비트 코인 : 투기 자산에서 분산 된 세계에서 통화를 예약하는 것?
- 2025-08-11 16:30:12
관련 지식

Kucoin의 열린 위치에서 레버리지를 조정할 수 있습니까?
2025-08-09 20:21:47
Kucoin Futures 거래의 레버리지 이해 Kucoin Futures 의 레버리지를 통해 거래자는 자금을 빌려서 가격 변동에 대한 노출을 증폭시킬 수 있습니다. 선물 위치를 열 때 사용자는 계약 및 마진 모드에 따라 1x에서 10x 또는 125x 범위의 레버리지 ...

Kucoin Futures의 담보로 어떤 암호 화폐가 지원됩니까?
2025-08-11 04:21:46
Kucoin Futures 및 담보 메커니즘의 개요 Kucoin Futures는 사용자 가 레버리지를 사용하여 영구 및 배송 선물 계약을 거래 할 수있는 파생 상품 거래 플랫폼입니다. 직책을 개방하고 유지하려면 거래자는 마진이라고도하는 담보 로 사용되는 자산을 입금해야...

Kucoin에서 실현 된 PNL과 실현 된 PNL의 차이점은 무엇입니까?
2025-08-09 01:49:56
Kucoin에서 실현되고 실현되지 않은 PNL을 이해합니다 Kucoin , 특히 선물 및 영구 계약 에서 거래 할 때 실현 된 PNL과 실현 된 PNL 의 차이점을 이해하는 것은 위험 관리 및 추적 성능에 필수적입니다. 이 용어는 두 가지 다른 이익 및 손실 측정 단계...

Kucoin Futures는 기능 측면에서 Binance Futures와 어떻게 비교됩니까?
2025-08-09 03:22:07
거래 인터페이스 및 사용자 경험 거래 인터페이스는 Kucoin Futures 와 Binance Futures를 비교할 때 중요한 구성 요소입니다. 거래 효율성과 사용자 만족도에 직접적인 영향을 미칩니다. Kucoin Futures는 TradingView 로 구동되는 사...

Kucoin Futures의 자금 수수료는 내 전반적인 이익에 어떤 영향을 미칩니 까?
2025-08-09 08:22:16
Kucoin Futures의 자금 수수료 이해 Kucoin Futures 에 대한 자금 수수료는 선물 가격을 기본 현장 시장 가격으로 정박하기 위해 길고 짧은 포지션 보유자간에 교환되는 주기적 지불입니다. 이 수수료는 거래 비용이나 교환 비용이 아니라 시장 감정의 균형...

Kucoin의 Mark Price와 마지막 가격의 차이점은 무엇입니까?
2025-08-08 13:58:18
암호 화폐 거래에서 가격의 기본 사항 이해 Kucoin 과 같은 cryptocurrency 거래소에서 두 개의 주요 가격 지표가 거래 인터페이스에 자주 나타납니다 : 마크 가격 및 마지막 가격 . 이러한 가치는 다른 기능을 제공하며 특히 미래 및 영구 계약 에 참여하는...

Kucoin의 열린 위치에서 레버리지를 조정할 수 있습니까?
2025-08-09 20:21:47
Kucoin Futures 거래의 레버리지 이해 Kucoin Futures 의 레버리지를 통해 거래자는 자금을 빌려서 가격 변동에 대한 노출을 증폭시킬 수 있습니다. 선물 위치를 열 때 사용자는 계약 및 마진 모드에 따라 1x에서 10x 또는 125x 범위의 레버리지 ...

Kucoin Futures의 담보로 어떤 암호 화폐가 지원됩니까?
2025-08-11 04:21:46
Kucoin Futures 및 담보 메커니즘의 개요 Kucoin Futures는 사용자 가 레버리지를 사용하여 영구 및 배송 선물 계약을 거래 할 수있는 파생 상품 거래 플랫폼입니다. 직책을 개방하고 유지하려면 거래자는 마진이라고도하는 담보 로 사용되는 자산을 입금해야...

Kucoin에서 실현 된 PNL과 실현 된 PNL의 차이점은 무엇입니까?
2025-08-09 01:49:56
Kucoin에서 실현되고 실현되지 않은 PNL을 이해합니다 Kucoin , 특히 선물 및 영구 계약 에서 거래 할 때 실현 된 PNL과 실현 된 PNL 의 차이점을 이해하는 것은 위험 관리 및 추적 성능에 필수적입니다. 이 용어는 두 가지 다른 이익 및 손실 측정 단계...

Kucoin Futures는 기능 측면에서 Binance Futures와 어떻게 비교됩니까?
2025-08-09 03:22:07
거래 인터페이스 및 사용자 경험 거래 인터페이스는 Kucoin Futures 와 Binance Futures를 비교할 때 중요한 구성 요소입니다. 거래 효율성과 사용자 만족도에 직접적인 영향을 미칩니다. Kucoin Futures는 TradingView 로 구동되는 사...

Kucoin Futures의 자금 수수료는 내 전반적인 이익에 어떤 영향을 미칩니 까?
2025-08-09 08:22:16
Kucoin Futures의 자금 수수료 이해 Kucoin Futures 에 대한 자금 수수료는 선물 가격을 기본 현장 시장 가격으로 정박하기 위해 길고 짧은 포지션 보유자간에 교환되는 주기적 지불입니다. 이 수수료는 거래 비용이나 교환 비용이 아니라 시장 감정의 균형...

Kucoin의 Mark Price와 마지막 가격의 차이점은 무엇입니까?
2025-08-08 13:58:18
암호 화폐 거래에서 가격의 기본 사항 이해 Kucoin 과 같은 cryptocurrency 거래소에서 두 개의 주요 가격 지표가 거래 인터페이스에 자주 나타납니다 : 마크 가격 및 마지막 가격 . 이러한 가치는 다른 기능을 제공하며 특히 미래 및 영구 계약 에 참여하는...
모든 기사 보기
