[翻訳] Bunzz が DApp 開発用のユーザー トリガー デプロイメント SDK をリリースしました

:::note info
本記事は下記の翻訳となります。
[『Bunzz Releases its User Triggered Deployment SDK for DApp Development』](https://blog.bunzz.dev/bunzz-releases-its-user-triggered-deployment-sdk-for-dapp-development/)
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1926720/a5490766-7eca-8cde-08ee-cc79d16c8d2a.png)

これは、Bunzz SDK の新機能の概要であり、ユーザーがコントラクトをデプロイできるプロセスを開発者が実装しやすくするものです。

### **展開/クローニング機能の課題**

いくつかの場合、DApps は「ユーザーアクション」によって同じ契約をデプロイ/クローンする必要があります。

例えば、

- DAO プラットフォームのようなノーコードの web3 ツール
- Uniswap のようなプロトコル
- ユーザーが独自の NFT プロジェクトを作成できる NFT マーケットプレイス

しかし、このクローニング機能を実装することは、開発者にとって時間のかかる作業であり、エラーの原因にもなります。

しかし、Bunzz が開発したユーザートリガードデプロイメント SDK を使用すると、開発者は簡単なユーザーアクションでスマートコントラクトをクローンする機能を迅速かつ簡単に DApps に統合することができます。

その利点の中には、以下のものがあります：

- 開発プロセスを大幅に簡素化できる
- エラーのリスクを減らすことができる
- マーケット投入までの時間を短縮できる

この機能は、自動 DAO 作成プラットフォームを例にするとより良く説明できます。

ユーザートリガードデプロイメント SDK を使用しない場合のプロセスは次のようになります：

![](https://lh4.googleusercontent.com/t3rjhW25j-JcfqXFCyLtQdG0WjnM06OQk79WpeK4SrjuUvIISldeja-LLKquOmYZMkoRuRK7nkgzb17ms6Cbz3uRFYKu3egqiifhREX1YCHs7QFuzaM-i_mCMWPG27pQvIFd8W0fyhxtvRHMdP3Fj7k)

ユーザートリガードデプロイメント SDK を使用する場合のプロセスは次のようになります：

![](https://lh4.googleusercontent.com/LvgQwKTlxRHXEsVrCghNG4QZXXM3aE61RgDfWYJq3mKjv1DS_RbUk_ZbQq4BQ2Q7sGmrRNdeoFVB6a5q0ONXRkfJT_O7h7KpFaj5_dM1hO7ZVnvpMOaSZV4ExJMSG5FpLG1-QODZ-VX_nz15FEgi-oQ)

### **機能**

ユーザートリガードデプロイメント SDK の機能の中には、次のようなものがあります：

- 簡単なユーザーアクションでの契約のクローニング
- Bunzz の[スマートコントラクトハブ](https://app.bunzz.dev/explorer)との統合
- 開発時間の短縮とエラーのリスクの低減

#### **ユーザートリガードデプロイメント SDK の使用方法**

###### **インストール**

まず、次のように CLI からインストールします：

_**npm install @bunzz/deploy-sdk ethers@^5.7.0**_

- _現時点では、_ _@bunzz/deploy-sdk_ _は ethers のバージョン 6 をサポートしていません_

**実装プロセス**

完全な実装プロセスは、以下の手順を含みます：

1\. [エクスプローラー](https://app.bunzz.dev/explorer)から適切なスマートコントラクトモジュールを見つけます。

2\. 良いものが見つからない場合は、[リポジトリページ](https://app.bunzz.dev/repository)から独自のスマートコントラクトモジュールをアップロードします（サインアップが必要です）。

3\. モジュールテンプレートページからモジュールテンプレート ID をコピーします。

![](https://lh3.googleusercontent.com/y7TyH2Eyc5Lvg5_4caVT1J2Ng8LOsT_lEdCkRQhmmwpYnd8LnHW213p00HiSI4xQIfbegSt46LoX3_90PT_ksmZPSeUTeh-PqlnB7J5zKrije7f-EYvBIR6vRAQeuz6f859idUV7pNL4qW8Wuac0oYM)

4\. 以下のように SDK を使用して簡単にデプロイ関数を実装できます：

```
import { deploy } from '@bunzz/deploy-sdk';
import { providers } from 'ethers';

const TEMPLATE_ID = '<TEMPLATE_ID>';

const cloneContract = async () => {
  // get a Signer object in the ethers' style.
  const signer = getSigner();

  // Arguments for the constructor as an array.
  // The types must follow the ethers style.
  const arg = ['dummy', 123456];

  // The return value is the same as the ethers one.
  const tx = await deploy(TEMPLATE_ID, signer, args);

  // You can get receipt as well.
  const receipt = await tx.wait();
```

---

---

:::note info
【Bunzz とは】
Bunzz はアジア最大級の DApps 開発インフラを運営する、web3×LLM におけるリーディングカンパニーです。「公共財としてのスマートコントラクト」の実現に向けて、各種 web3 インフラやサービスを開発・提供しております。

【Our Projects】

- **[Smart Contract Hub | スマートコントラクトの Github](https://www.bunzz.dev/)**
- **[DeCipher | "Read me" for All of Contracts](https://www.bunzz.dev/decipher)**
- **[Bunzz for Enterprise | Tier1 の技術リソースを日本企業に提供](https://enterprise.bunzz.dev/ja)**
- **[Bunzz Audit | 透明かつ持続的なコントラクト監査の仕組みを実現](hhttps://www.bunzz.dev/audit)**

【Social Links】

- [X(旧 Twitter))](https://twitter.com/BunzzDev)
- [Discord Community](https://t.co/6hHgssJdvW)
- [Youtube](https://www.youtube.com/@bunzzdev)
- [Instagram](https://www.instagram.com/bunzzdev/)

【お問合せ】
web3 開発・コンサルティングのご相談はこちらから 👉[Google Form](https://forms.gle/4tgQjWSw2MMMZW6E6)
:::

:::note info
Bunzz R&D エンジニア荒巻さんの著書[『スマートコントラクトの仕組みと法律』](https://amzn.to/3V03sNH)が好評発売中です 📕
<a href="https://amzn.to/3V03sNH" rel="nofollow" referrerpolicy="no-referrer-when-downgrade">
<img
    src="https://m.media-amazon.com/images/I/81wopoZ1K4L._SY522_.jpg"
    alt="『スマートコントラクトの仕組みと法律』（中央経済グループパブリッシング）"
    width="200px"
    height="auto"
    Style="border: 0px;"
  />
</a>
:::