계약 컴파일 및 배포
Solidity 코드를 바이트코드로 컴파일하고 계약을 로컬 개발 네트워크에 배포하는 방법을 학습합니다.
계약 컴파일 및 배포은(는) CoddyKit의 무료 Blockchain Smart Contracts with Solidity 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Blockchain Smart Contracts with Solidity 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Blockchain Smart Contracts with Solidity 강의에는 총 4개의 강의가 포함되어 있습니다.
이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.
Intro to Compile & Deploy
Great job setting up your environment! Now let's bring your Solidity code to life. This lesson covers two essential steps: compiling and deploying your smart contracts.
Think of it like building an app: first, you write the code, then you turn it into something a computer can run (compile), and finally, you put it somewhere for people to use (deploy).
What is Compilation?
Compilation is the process of converting your human-readable Solidity code into machine-readable bytecode. The Ethereum Virtual Machine (EVM) understands this bytecode.
- Solidity is a high-level language.
- The EVM runs low-level bytecode.
- The compiler acts as a translator between them.
Compiling with Hardhat
Hardhat makes compiling simple. Once your Solidity files are in the contracts/ folder, you just need one command in your terminal.
This command tells Hardhat to find all .sol files and compile them into bytecode.
npx hardhat compileUnderstanding Artifacts
After compiling, Hardhat creates an artifacts/ folder. Inside, you'll find JSON files for each contract. These files contain vital information:
- Bytecode: The EVM-executable code.
- ABI (Application Binary Interface): Describes how to interact with your contract.
- Source Map: Helps with debugging by linking bytecode to source code.
What is Deployment?
Deployment is the act of sending your contract's bytecode to a blockchain network. Once deployed, your contract lives on that network and can be interacted with by anyone.
Each deployment costs gas (a transaction fee) and results in a unique contract address on the blockchain.
Local Dev Networks
Before deploying to a public network like Ethereum Mainnet, it's crucial to test your contracts on a local development network.
Hardhat comes with its own built-in network, which is perfect for fast, free, and isolated testing. It resets every time you restart it.
Our Example Contract
Before deploying, we need a contract! Let's use a simple Greeter.sol contract. This contract stores a greeting and lets you change it.
Save this in your contracts/ folder:
/* contracts/Greeter.sol */
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Greeter {
string private greeting;
constructor(string memory _greeting) {
greeting = _greeting;
}
function greet() public view returns (string memory) {
return greeting;
}
function setGreeting(string memory _greeting) public {
greeting = _greeting;
}
}The Deployment Script
This JavaScript script, saved as scripts/deploy.js, will tell Hardhat how to deploy our Greeter contract to the network.
It uses Hardhat's built-in ethers.js integration to handle contract deployment. Try running this example:
// scripts/deploy.js
async function main() {
const Greeter = await ethers.getContractFactory("Greeter");
const greeter = await Greeter.deploy("Hello, CoddyKit!");
await greeter.deployed();
console.log("Greeter deployed to:", greeter.address);
}
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});Running the Deploy Script
With your contract compiled and your deployment script ready, it's time to deploy! Open your terminal and run this command:
Hardhat will automatically start its local network, deploy your contract, and then shut down (unless you run npx hardhat node first).
npx hardhat run scripts/deploy.jsTest Your Knowledge
Let's check your understanding of the compilation and deployment process in Hardhat.
Your Contracts Are Live!
You've successfully learned how to compile your Solidity code into bytecode and deploy it to a local development network!
- Compile: Transforms Solidity into EVM bytecode and creates ABI.
- Deploy: Puts your contract's bytecode on a blockchain.
- Hardhat Network: Ideal for local testing.
Next, you'll learn how to interact with these deployed contracts!
AI 튜터와 함께 Blockchain Smart Contracts with Solidity을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 12
- 레슨
- 48
자주 묻는 질문
“계약 컴파일 및 배포” 강의는 무료인가요?
네 — “계약 컴파일 및 배포” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Blockchain Smart Contracts with Solidity 강의 전체를 잠금 해제할 수 있습니다. Blockchain Smart Contracts with Solidity 강의에는 총 4개의 강의가 포함되어 있습니다.
“계약 컴파일 및 배포”에서 뭘 배우나요?
Solidity 코드를 바이트코드로 컴파일하고 계약을 로컬 개발 네트워크에 배포하는 방법을 학습합니다. 브라우저에서 직접 실행하는 실습 코드로 Blockchain Smart Contracts with Solidity을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Blockchain Smart Contracts with Solidity을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Blockchain Smart Contracts with Solidity은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“계약 컴파일 및 배포” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Blockchain Smart Contracts with Solidity 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Blockchain Smart Contracts with Solidity 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.