/fireblocks-contract-dev-template

Contract Development environment with fireblocks

Primary LanguageTypeScript

Contract-Develop-template

スマートコントラクトの開発リポジトリ

スマートコントラクトのDeployに関してのルールは以下の通り

Deployルール

①Native Token , ERC20が絡むスマートコントラクトはメインネットデプロイ前に最低1人以上のコントラクトレビュー後

デプロイ行為を行うこととする

*エスクロー取引,マッチング取引等は特に重要チェックとする

②ERC721のNFTに関しては サービスの求める仕様と合致しているかの確認を行い仕様書と実装の動作差分がないと判断できればデプロイとする

これは一回のみ

  • nvm をインストールする(nodeバージョン管理用) Link
  • nvm use でプロジェクトで設定したnodeバージョンを利用する
  • npm install --global yarnyarnを利用する

本プロジェクトをコピーペーストした後は

  • yarn で依存modulesをインストールする
  • NewProject/contracts/ に新規スマートコントラクトを書く
  • NewProject/test/ ここにテストコードを書く

コマンド一覧

コマンド 説明
yarn run clean deploy関係のファイルを削除する
yarn run lint lintルールを守っているかチェック
yarn run lint:fix 自動でlint修正
yarn run coverage テストコード書いてない範囲をチェック
yarn run test テストを実行する
yarn run gas-report ガス代計算
yarn run prepare deploy前の準備
yarn run deploy 💥

一般的

開発環境設定ファイル

  • .env
  • .env.example ダウンロード後は、「.env.txt」 -> 「.env」に変更する必要

Fireblocks Environment value setting

  • FIREBLCOKS_API_KEY Fireblocks Console API Co-signerのAPI key をセットしてください
  • FIREBLOCKS_API_PRIVATE_KEY_PATH Fireblocks API Co-signer API secret Fileの保管先Pathをセットしてください
  • FIREBLOCKS_VAULT_ACCOUNT_IDS デプロイを行うFireblocksのVaultIDを指定してください

Fireblocks TAP と Hardhat Plugin

  • Fireblocks-TAP
  • Fireblocs ConsoleでTAPルールを設定することでトランザクションの実行がAPI Co-signer経由で可能になります

チェックリスト

  • アドレスがEOAかコントラクトかのチェック