0Pricing
Blockchain Smart Contracts with Solidity · レッスン

コントラクトのコンパイルとデプロイ

Solidityコードをバイトコードへコンパイルし、ローカル開発ネットワークへコントラクトをデプロイする方法を学びます。

「コントラクトのコンパイルとデプロイ」はCoddyKit上の無料Blockchain Smart Contracts with Solidityレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応の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 compile

Understanding 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.js

Test 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!

よくある質問

「コントラクトのコンパイルとデプロイ」レッスンは無料ですか?

はい。「コントラクトのコンパイルとデプロイ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Blockchain Smart Contracts with Solidityコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Blockchain Smart Contracts with Solidityコースには全4レッスンが含まれています。

「コントラクトのコンパイルとデプロイ」で何を学びますか?

Solidityコードをバイトコードへコンパイルし、ローカル開発ネットワークへコントラクトをデプロイする方法を学びます。 ブラウザで直接実行するハンズオンコードでBlockchain Smart Contracts with Solidityを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Blockchain Smart Contracts with Solidityを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのBlockchain Smart Contracts with Solidityは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「コントラクトのコンパイルとデプロイ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このBlockchain Smart Contracts with Solidityレッスンでコードを書いて実行できますか?

はい。すべてのBlockchain Smart Contracts with Solidityレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. HardhatまたはTruffleの設定
  2. コントラクトのコンパイルとデプロイ
  3. デプロイ済みコントラクトとの対話
  4. コントラクトテストの作成と実行
← Blockchain Smart Contracts with Solidityに戻る