-
-
command
+space
で Spotlight Search を開き、terminal
と入力 -
以下のコマンドの どちらか を入力し
return
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
-
以下のコマンドを実行し、正常にインストールされているか確認 (
nvm
と表示されたら OK )command -v nvm
-
nvm: command not found
が出る場合、以下のコマンド実行してみてください-
bash の場合
source ~/.bash_profile
-
zsh の場合
source ~/.zshrc
-
-
-
-
- ここを参照しトラブルシューティングを行ってください
-
-
-
ここからインストーラーをダウンロード ( zip ファイル )
-
zip を展開し、インストーラーに従ってください ( 全て
Next
で進んで構いません、設定を変えたい人はご自由にどうぞ )
-
-
- ディストリビューション
Ubuntu:22.04
-
以下のコマンドを実行し、ディストリビューションを更新する ( 推奨 )
sudo apt update && sudo apt upgrade
-
以下のコマンドを実行し、cURL をインストール
sudo apt-get install curl
-
以下のコマンドを実行し、nvm をインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
-
以下のコマンドを実行し、正常にインストールされているか確認
nvm -v
0.39.7
等,バージョン情報が出てくれば OK ですCommand 'nvm' not found ...
が出る場合、現在のターミナルを閉じてから再度開き、もう一度やり直してください- もしくは
と実行したあとに再度「nvm -v」を打ってみてください.
source ~/.bashrc
- ディストリビューション
-
-
- ここを参照しトラブルシューティングを行ってください
- Mac はターミナル、Windows はコマンドプロンプト ( または WSL ) を開いておいてください
-
以下のコマンドを実行し、
Node.js: 20.14.0
をインストールnvm install 20.14.0
-
以下のコマンドを実行し、
Node.js: 20.14.0
を使用しているか確認 (v20.14.0
と表示されたら OK )node --version
-
違うバージョンが表示される場合、以下のコマンドを実行してください
nvm use 20.14.0
-
-
また以下のコマンドを実行し、
npm
があることも確認してくださいnpm --version
-
対応ブラウザ: Chrome ( JavaScript を許可してください )
-
対応デバイス: PC
-
対応ウォレット: MetaMask ( Chrome 拡張機能 )
-
Indexer 無し
-
DB 無し
-
Backend ( Server, Server Action ) 無し
-
仕様変更で使わなくなったパッケージ、ファイルも一部残っています
wagmi
: latest ( 10.7.0 )tailwindcss
: ^3.4.3typescript
: ^5.2.2shadcn-ui
: 0.8.0react-hook-form
: ^7.51.5
-
レポジトリをクローンする
-
SSH を設定してある場合
git clone git@github.com:blockchaininnovation/frontpractice.git
-
HTTPS を使用する場合
git clone https://github.com/blockchaininnovation/frontpractice.git
-
-
クローンしたディレクトリに移動し、以下のコマンドを実行
cd wagmi-project
npm install
cp .env.sample .env.local
各自 ↑ で作成した
.env.local
に TextDAO のアドレスを記載してくださいcd src cp wagmi.sample.ts wagmi.ts
↑ で作成した
wagmi.ts
に 接続したいネットワーク情報を記述してください.npm run build
npm run start
もしくは,run build, run start の代わりに開発モードとして
npm run dev
-
ブラウザで以下にアクセス
-
ブロックチェーン起動
-
localで開発用のブロックチェーンを起動
- TextDAO のディレクトリで以下のコマンドを実行
anvil
- もしくは,sepoliaをコピーしてローカルで起動したい場合は Alchemy(または他のノードサービス)から API キーを取得する
- TextDAO のディレクトリで以下のコマンドを実行
anvil --fork-url https://eth-sepolia.g.alchemy.com/v2/<api_key>
- TextDAO のディレクトリで以下のコマンドを実行
-
-
コンソールに出力された PrivateKey のどれか一つを TextDAOの
.env
ファイルに記載.- .envファイルがない場合は以下: .env.sampleを.envにコピー
cp .env.sample .env
- コピー(一例)
DEPLOYER_PRIV_KEY=0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-
TextDAO のディレクトリで以下のコマンドを実行
forge script script/Deployment.s.sol --rpc-url http://127.0.0.1:8545 --broadcast
-
wagmi-project
のsrc/wagmi.ts
のconfig
を以下のように変更:- localでそのままanvilで起動したチェーンに接続する場合:
export const config = createConfig({ chains: [anvil], connectors: [], ssr: true, transports: { [anvil.id]: http("http://localhost:8545"), }, });
- localにsepoliaをコピーしたチェーンに接続する場合:
export const config = createConfig({ chains: [sepolia], connectors: [], ssr: true, transports: { [sepolia.id]: http("http://localhost:8545"), }, });
- sepoliaに接続する場合:
export const config = createConfig({ chains: [sepolia], connectors: [], ssr: true, transports: { [sepolia.id]: http("https://eth-sepolia.g.alchemy.com/v2/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), }, });
-
wagmi-project
のsrc/wagmi.ts
のtextDAOFacade
を以下のように変更export const TextDAOFacade = { address: process.env.NEXT_PUBLIC_CONTRACT_ADDR! as Address, abi, // account, } as const;
3つ目の引数「account」は,開発用にいちいちMetamaskが起動するのが鬱陶しい場合は,秘密鍵をsrc/lib/accout.ts に記述することで毎回のMetamask起動を回避できる. コメントアウトすると毎回Metamaskを起動する.