Hardhat TypeScript?環境構築手順 - 共同管理自動台帳開発を始めよう

はじめに

この記事では、Hardhatを使って共同管理自動台帳(イーサリアム)上で動く条件即座実行(スマートコントラクト)の開発環境を構築する手順を解説します。

従来のWebサーバーと違い、共同管理自動台帳では一度デプロイすれば永久に動き続けるという革命的な特徴があります。月額サーバー代も不要で、長期的には圧倒的にコスト効率が良い開発方法です。

今回のゴール

前提条件

必要な環境

Node.jsの確認

まず、Node.jsがインストールされているか確認します。

File not found: "bash" at page "スマートコントラクト開発環境Hardhatを学ぶ";

node --version }}}

バージョンが表示されればOKです。インストールされていない場合は、[Node.js公式サイト](https://nodejs.org/)からダウンロードしてインストールしてください。

Step 1: プロジェクトフォルダの作成

新しいプロジェクト用のフォルダを作成し、移動します。

mkdir my-first-hardhat
cd my-first-hardhat

ポイント: フォルダ名は英数字とハイフンで構成するのがベストプラクティスです。

Step 2: Hardhatのインストールと初期化

Hardhatをインストール

npm install --save-dev hardhat

プロジェクトの初期化

npx hardhat init

設定の選択

初期化時に以下の選択肢が表示されます:

TypeScript?を選択する理由:

その後の質問は全て Yes で進めます。

Step 3: 生成されたプロジェクト構造

初期化が完了すると、以下のファイル構造が生成されます:

my-first-hardhat/
├── contracts/          # 条件即座実行コード(.sol)
│   └── Lock.sol        # サンプルコード
├── scripts/            # デプロイ用スクリプト(.ts)
│   └── deploy.ts
├── test/               # テストコード(.ts)
│   └── Lock.ts
├── hardhat.config.ts   # Hardhat設定ファイル
├── tsconfig.json       # TypeScript設定
├── package.json        # Node.js依存関係
└── README.md           # プロジェクト説明

各フォルダの役割

フォルダ名役割ファイル形式
contracts条件即座実行のコードを格納.sol(Solidity)
scriptsデプロイやその他の実行スクリプト.ts(TypeScript?
testテストコードを格納.ts(TypeScript?

Step 4: Windsurfで開く

プロジェクトフォルダをWindsurfで開きます。

# Windsurfがインストールされている場合
windsurf .

# または手動でWindsurfを開いてフォルダを選択

WindsurfとHardhatの相性の良さ

なぜWindsurfが最適なのか

開発体験の向上

従来の開発フローと比較すると:

従来の開発Windsurf + Hardhat
ドキュメントを読んで理解「○○したい」と伝えるだけ
コードを手動で書くAI がプロジェクト全体を考慮してコード生成
エラーをググって解決エラーが出たら即座に解決案を提示
テストを別途作成テスト・設定・ドキュメントも一緒に生成

次のステップ

環境構築が完了したら、以下の順序で学習を進めることをお勧めします:

まとめ

Hardhat + TypeScript? + Windsurfの組み合わせにより、強力な開発環境が構築できました。

主なメリット:

HardhatのWindsurfのプラグイン

Solidity

Hardhat開発者のための Solidity拡張機能ガイド

はじめに

Solidity by Nomic Foundation は、Hardhatプロジェクトでの条件即座実行(スマートコントラクト)開発を強力にサポートするVSCode拡張機能です。

Windsurfユーザーにとって、この拡張機能は AI開発サポート専門的なSolidity機能 を組み合わせた最強の開発環境を提供します。

この拡張機能でできること

基本的な開発支援

Hardhat特有の機能

インストールと設定

Step 1: 拡張機能のインストール

VSCode マーケットプレイスから Solidity by Nomic Foundation をインストールします。

Step 2: Hardhatプロジェクトを開く

# Windsurfでプロジェクトフォルダを開く
windsurf my-hardhat-project

拡張機能が hardhat.config.ts ファイルを自動検出し、Hardhatモードで動作開始します。

Step 3: デフォルトフォーマッター設定

Solidityファイル(.sol)のフォーマッターをこの拡張機能に設定:

1. .solファイルを開く 2. 右クリック → Format Document With... 3. Configure Default Formatter... 4. Solidity を選択

実際の開発での使い方

コード編集時

* 自動補完機能

contract MyToken {
    // 「fun」と入力すると「function」が補完される
    // 関数名や変数名も自動提案

* リアルタイムエラー検出

エラーや警告が 赤い波線黄色い波線 で即座に表示されます。

* ホバーヘルプ

変数や関数の上にマウスを置くと、詳細情報がポップアップ表示されます。

クイックフィックス(自動修正)

エラーが出た行に 💡電球アイコン が表示され、クリックすると修正案が提示されます。

* よくある修正例

関数の可視性エラー

// エラー: 可視性が指定されていない
function transfer(address to, uint256 amount) {

// 💡クリック → 自動修正
function transfer(address to, uint256 amount) public {

view/pure修飾子の追加

// 警告: 状態を変更しない関数
function getBalance() returns (uint256) {

// 💡クリック → 自動修正  
function getBalance() public view returns (uint256) {

インターフェース実装

// エラー: インターフェースの関数が未実装
contract MyToken is IERC20 {

// 💡クリック → 必要な関数を自動生成

Hardhat専用コマンド

拡張機能により、以下のコマンドがコマンドパレット(Ctrl+Shift+P)から実行できます:

Hardhat: Compile project

# 以下と同じ動作
npx hardhat compile

プロジェクト全体をコンパイルし、エラーがあれば表示します。

Hardhat: Clear cache and artifacts

# 以下と同じ動作  
npx hardhat clean

キャッシュとビルド結果をクリアします。

Hardhat: Flatten this file and its dependencies

開いているSolidityファイルとその依存関係を1つのファイルにまとめます。

タスク統合

VSCodeのタスクランナーと統合されており、以下が利用できます:

ビルドタスク(Ctrl+Shift+P → Tasks: Run Build Task)

hardhat compile

テストタスク(Ctrl+Shift+P → Tasks: Run Test Task)

hardhat test

開発ワークフロー例

日常的な開発手順

1. Windsurfでプロジェクトを開く

2. contracts/フォルダでSolidityファイルを編集

3. リアルタイムでエラーチェック(自動)

4. 💡クイックフィックスでエラー修正

5. Ctrl+Shift+PHardhat: Compile project

6. test/フォルダでテストコード編集

7. Ctrl+Shift+PTasks: Run Test Task

デバッグ時の手順

1. エラー行の💡アイコンをクリック

2. 修正案を確認・適用

3. F12キーで関数定義にジャンプ

4. Shift+F12で参照箇所を一覧表示

設定とカスタマイズ

フォーマット設定

プロジェクトルートに.prettierrc.jsonを作成:

{
  "overrides": [
    {
      "files": "*.sol",
      "options": {
        "printWidth": 100,
        "tabWidth": 2,
        "useTabs": false,
        "singleQuote": false,
        "bracketSpacing": false
      }
    }
  ]
}

推奨設定

VSCodeの設定(settings.json)に追加:

{
  "solidity.defaultCompiler": "localHardhat",
  "solidity.packageDefaultDependenciesContractsDirectory": "contracts",
  "editor.formatOnSave": true,
  "[solidity]": {
    "editor.defaultFormatter": "NomicFoundation.hardhat-solidity"
  }
}

WindsurfとAI開発での活用

AI + 拡張機能の相乗効果

Windsurf AI

Solidity拡張機能

この組み合わせにより、AI生成コード即座にエラーチェック自動修正 という高速開発サイクルが実現します。

実践的な使い方

1. WindsurfのAIに「ERC20トークンを作って」

2. 生成されたコードに拡張機能がエラー表示

3. 💡クイックフィックスで瞬時に修正

4. Hardhatコマンドで即座にテスト

トラブルシューティング

よくある問題と解決法

拡張機能が動作しない

コンパイルエラーが消えない

フォーマットが効かない

まとめ

Hardhat開発では、この拡張機能は 必須ツール です。

メリット

推奨ワークフロー 1. Windsurfでプロジェクトを開く

2. Solidity拡張機能で品質チェック

3. AIサポートで高速開発

4. 統合コマンドで簡単テスト・デプロイ

これで、プロフェッショナルレベルのHardhat開発環境の完成です!

参考リンク

共同管理自動台帳の世界へようこそ!次回はサンプルコードの解読から始めましょう。

参考リンク

この記事が役に立ったら、ぜひシェアしてください!

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS