https://foundry-multisig-wallet.vercel.app/
English README Jump to Japanese Version
- As Ethers.js V5 is deprecated for the use of Sepolia testnet on the front-end, I am currently updating the code to Ethers.js V6.
- Stackup.sh framework (UserOp) is not compliant with Ethers.js V6 new types and methods, so i am re-addaptating this as well.
- I have a Goerli version aswell using ethers.js V5. But when I tested it, due to an upgrade of entry points to v0.7, Stackup.sh isn't usable until they update their framework. Due to this all transactions are reverted.
git clone https://github.com/Jer-B/Foundry_multisig_wallet/
- Change directory
cd Foundry_multisig_wallet/contracts
forge init
- Install dependencies
forge install OpenZeppelin/openzeppelin-contracts@v4.9.3 --no-commit && forge install eth-infinitism/account-abstraction --no-commit
- Replace RPC, Private Key and Etherscan API key by yours.
forge script script/WalletFactory.s.sol --rpc-url [YOUR RPC API KEY] --private-key [YOUR PRIVATE KEY] --broadcast --etherscan-api-key [YOUR ETHERSCAN API KEY] -vvv
- Replace the contract by your deployed WalletFactory contract address in:
src/utils/constants.ts
- Creates necessary accounts and projects to get the keys you need for the .env file :
For wallet connect, get a WalletConnect Cloud account, then create a project and get your key. Nothing more is required Wallet Connect Doc
-
For supabase, create an account and a project. Then get your database URL. Supabase Doc
-
For Stackup.sh, create an account and a project. Then get your API key. Stackup.sh Doc
-
Create an .env file in the root directory of the project. And put the below in it, replace the values by yours:
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=" YOUR WALLET CONNECT KEY "
DATABASE_URL=" YOUR SUPABASE DATABASE URL "
NEXT_PUBLIC_STACKUP_API_KEY=" YOUR STACKUP API KEY "
- Change directory
cd Foundry_multisig_wallet/
npm install
- Run the development server:
npm run dev
Open http://localhost:3000 with your browser to see the result.
- Ethers.js V5 は Sepolia テストネットのフロントエンド使用が非推奨になったため、現在 Ethers.js V6 へのコード更新を行っています。
- Stackup.sh フレームワーク(UserOp)は Ethers.js V6 の新しいタイプやメソッドに対応していないため、これも再適応しています。
- Ethers.js V5 を使用した Goerli バージョンもありますが、v0.7 へのエントリーポイントのアップグレードのため、Stackup.sh は彼らのフレームワークを更新するまで使用できません。そのため、全てのトランザクションはリバートされました。
git clone https://github.com/Jer-B/Foundry_multisig_wallet/
- ディレクトリを変更
cd Foundry_multisig_wallet/contracts
forge init
- 依存関係のインストール
forge install OpenZeppelin/openzeppelin-contracts@v4.9.3 --no-commit && forge install eth-infinitism/account-abstraction --no-commit
- RPC、プライベートキー、Etherscan の API キーをあなたのものに置き換えてください。
forge script script/WalletFactory.s.sol --rpc-url [YOUR RPC API KEY] --private-key [YOUR PRIVATE KEY] --broadcast --etherscan-api-key [YOUR ETHERSCAN API KEY] -vvv
- 以下にデプロイされた WalletFactory コントラクトアドレスを置き換えてください:
src/utils/constants.ts
-
.env ファイルに必要なキーを取得するために必要なアカウントとプロジェクトを作成します:
-
WalletConnect Cloud アカウントを取得し、プロジェクトを作成してキーを取得します。それ以上のことは必要ありません。Wallet Connect Doc
-
Supabase の場合、アカウントを作成し、プロジェクトを立ち上げてデータベース URL を取得します。Supabase Doc
-
Stackup.sh の場合、アカウントを作成し、プロジェクトを立ち上げて API キーを取得します。Stackup.sh Doc
-
プロジェクトのルートディレクトリに.env ファイルを作成し、以下のように記入し、あなたの値で置き換えてください:
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=" YOUR WALLET CONNECT KEY "
DATABASE_URL=" YOUR SUPABASE DATABASE URL "
NEXT_PUBLIC_STACKUP_API_KEY=" YOUR STACKUP API KEY "
- ディレクトリを変更
cd Foundry_multisig_wallet/
npm install
- 開発サーバーを実行します:
npm run dev
ブラウザでhttp://localhost:3000を開いて結果を確認します。