배포 및 상호작용
컴파일한 스마트 계약을 시뮬레이션된 블록체인 환경에 배포하고 Remix UI를 통해 해당 함수와 상호작용하는 연습을 합니다.
배포 및 상호작용은(는) CoddyKit의 무료 Web3 & DApp Development Fundamentals 강의입니다. 이것은 3개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Web3 & DApp Development Fundamentals 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Web3 & DApp Development Fundamentals 강의에는 총 3개의 강의가 포함되어 있습니다.
이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.
What is Smart Contract Deployment?
You've learned to write and compile smart contracts in Remix. The next step is to deploy them.
Deploying a contract means publishing its compiled code onto a blockchain. Once deployed, your contract becomes an immutable, self-executing program accessible to anyone on that network.
Remix's Deploy & Run Panel
Remix IDE has a dedicated panel for deployment and interaction. Look for the 'Deploy & Run transactions' plugin, usually represented by an Ethereum logo.
This panel allows you to:
- Select a blockchain environment.
- Choose an account for deployment.
- Deploy your compiled contracts.
- Interact with deployed contracts.
Choosing a Blockchain Environment
Before deploying, you need to tell Remix which blockchain to target. In the 'Environment' dropdown, you'll see options:
- JavaScript VM: A local, in-browser simulated blockchain. Perfect for testing!
- Injected Provider: Connects to an external wallet like MetaMask.
- Web3 Provider: Connects to a custom RPC endpoint (e.g., a local Hardhat node).
For this lesson, we'll use the JavaScript VM.
Test Accounts in JavaScript VM
When you select 'JavaScript VM', Remix automatically provides several test accounts. These accounts are pre-funded with fake Ether (ETH).
You'll use one of these accounts to deploy your contract. The deployment transaction will deduct 'gas' (transaction fees) from the chosen account's balance, just like on a real blockchain.
Gas Limit and Value
In the 'Deploy & Run' panel, you'll also see fields for 'Gas limit' and 'Value'.
- Gas limit: The maximum amount of gas (computational effort) you're willing to spend on a transaction.
- Value: The amount of Ether (or other native token) you want to send along with the transaction (e.g., for payable functions or sending funds to a contract).
For most simple deployments, the default gas limit is sufficient. We'll leave 'Value' at 0 for now.
Our Simple Counter Contract
Let's use a basic Counter contract to practice deployment and interaction. This contract simply stores an unsigned integer and allows us to increment or decrement it.
Copy and paste this code into a new file named Counter.sol in Remix, then compile it.
pragma solidity ^0.8.0;
contract Counter {
uint public count;
constructor() {
count = 0;
}
function increment() public {
count++;
}
function decrement() public {
count--;
}
}Deploying the Counter Contract
With Counter.sol compiled and 'JavaScript VM' selected:
- Ensure
Counteris selected in the 'CONTRACT' dropdown. - Click the orange 'Deploy' button.
You'll see a transaction recorded in the Remix terminal, and your deployed contract will appear under 'Deployed Contracts'.
Interacting with Deployed Contracts
Once deployed, your contract will show up under the 'Deployed Contracts' section in the 'Deploy & Run' panel.
You'll see buttons for each of the contract's functions and public state variables. These buttons are color-coded:
- Blue: View/pure functions (read-only, no transaction cost).
- Orange: Non-payable functions (modify state, require transaction).
- Red: Payable functions (modify state and accept Ether).
Reading Contract State: 'count'
Our Counter contract has a public state variable called count. When a state variable is declared public, Solidity automatically creates a getter function for it.
Click the blue 'count' button in the deployed contract interface. You should see its initial value, 0, displayed below the button.
Modifying Contract State: 'increment()'
Now, let's change the contract's state. Click the orange 'increment' button.
This will trigger a transaction. You'll see a new transaction in the terminal. After it's mined (almost instantly in JS VM), click the blue 'count' button again. The value should now be 1!
Try clicking 'decrement' and observing the change too.
Quick Check: Remix Deployment
Which of the following best describes the primary purpose of the 'JavaScript VM' environment in Remix?
Recap: Deploying & Interacting
Congratulations! You've learned the essential steps to deploy and interact with smart contracts using Remix IDE:
- Used the 'Deploy & Run transactions' panel.
- Selected the 'JavaScript VM' for a simulated environment.
- Deployed a simple
Countercontract. - Interacted with its public variable and functions to read and modify its state.
This hands-on experience is crucial for understanding how smart contracts live and operate on the blockchain!
AI 튜터와 함께 Web3 & DApp Development Fundamentals을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 29
- 레슨
- 105
자주 묻는 질문
“배포 및 상호작용” 강의는 무료인가요?
네 — “배포 및 상호작용” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Web3 & DApp Development Fundamentals 강의 전체를 잠금 해제할 수 있습니다. Web3 & DApp Development Fundamentals 강의에는 총 3개의 강의가 포함되어 있습니다.
“배포 및 상호작용”에서 뭘 배우나요?
컴파일한 스마트 계약을 시뮬레이션된 블록체인 환경에 배포하고 Remix UI를 통해 해당 함수와 상호작용하는 연습을 합니다. 브라우저에서 직접 실행하는 실습 코드로 Web3 & DApp Development Fundamentals을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Web3 & DApp Development Fundamentals을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Web3 & DApp Development Fundamentals은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 3개 중 3번째 강의입니다.
“배포 및 상호작용” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Web3 & DApp Development Fundamentals 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Web3 & DApp Development Fundamentals 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- Remix IDE 개요
- 스마트 계약 컴파일
- 배포 및 상호작용