ローカルで動かす手順は下記の通りです。
- API サーバーの設定と起動
- intro-app の起動
- Soul Wallet の起動
api
ディレクトリに移動する。- モジュールのインストールのため下記コマンドを実行
npm i
.env
ファイルを作成し、MetaMask のニーモニックコードを貼り付ける。
MNEMONIC=YOUR_DATA
STRIPE_API_KEY=YOUR_DATA
PINATA_API_KEY=YOUR_DATA
PINATA_API_SECRET=YOUR_DATA
PINATA_API_JWT=YOUR_DATA
ABI.js
にコンパイルしたコントラクトの ABI 情報を貼り付ける。
const MyTokenABI = `ここにABIを貼り付ける`;
const FactoryABI = `ここにABIを貼り付ける`;
const WalletABI = `ここにABIを貼り付ける`;
- 起動コマンドを入力する。
npm run start
下記のように出力されれば、API サーバーの起動は完了
> api server@0.1.0 start
> node server.js
起動しました https://192.168.0.3:3001
intro-app
ディレクトリに移動する。- モジュールのインストールのため下記コマンドを実行
npm i
App.js
6 行目の変数URL
に API サーバー起動時に出力されたエンドポイントの情報を入力する。
import QRCode from "qrcode.react";
import './App.css';
function App() {
// URL
+ const URL = 'http://192.168.0.14:3000' // please change
return (
<div className="App">
<header className="App-header">
<p>
<strong>Welcome to Soul Wallet!!</strong>
</p>
<QRCode value={URL} />
<a href={URL}>{URL}</a>
</header>
</div>
);
}
- 起動コマンドを実行する。
npm run start
http://localhost:3002/にアクセスして QR コードが表示されていることを確認する。
frontend
ディレクトリに移動する。- モジュールのインストールのため下記コマンドを実行
npm i
-
Constants.js
の 29 行目のの変数baseURL
に API サーバー起動時に出力されたエンドポイントの情報を入力する。 -
Constants.js
のCONTRACT_ADDRESS
とMYTOKEN_ADDRESS
にデプロイしたアドレス情報を入力する。
/**
* 各種定数を管理するためのファイル
*/
// contract Address (WalletFactory)
+ export const CONTRACT_ADDRESS = "0xD776E3Dfc486e576304ABe13865D94d063F7b821";
// contract Address (MyToken)
+ export const MYTOKEN_ADDRESS = "0x17c803255c20C946E72855901c6C0B1C2195Cfc0";
// chain ID
export const chainId = '43113';
// rpc URL
export const RPC_URL = `https://ava-testnet.public.blastapi.io/ext/bc/C/rpc`;
// API Base URL
+ export const baseURL = 'http://192.168.0.16:3001'; // please change
.env
ファイルにストライプと pinata の API の環境変数を記載する。
REACT_APP_STRIPE_API_KEY=<YOUR_DATA>
REACT_APP_PINATA_API_KEY=<YOUR_DATA>
REACT_APP_PINATA_API_SECRET=<YOUR_DATA>
REACT_APP_PINATA_API_JWT=<YOUR_DATA>
- 起動コマンドを実行する。
npm run start