From f9645a95184d91dfda7fbaaad4e39cacc472cc42 Mon Sep 17 00:00:00 2001 From: neila Date: Wed, 16 Aug 2023 18:27:46 +0900 Subject: [PATCH 1/3] limit textlint to japanese documentation --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 9a1089a31..a5c86cd68 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "repository": "https://github.com/unchain-dev/UNCHAIN-projects.git", "author": "SHØ (https://akxra.art/)", "scripts": { - "textlint:check": "textlint docs/**/*.md --ignore-path .textlintignore", - "textlint:fix": "textlint --fix docs/**/*.md --ignore-path .textlintignore", + "textlint:check": "textlint docs/*/ja/**/*.md --ignore-path .textlintignore", + "textlint:fix": "textlint --fix docs/*/ja/**/*.md --ignore-path .textlintignore", "prepare": "simple-git-hooks" }, "simple-git-hooks": { From 9a26a789ea81ce9f110493a43deca34824700371 Mon Sep 17 00:00:00 2001 From: neila Date: Wed, 16 Aug 2023 18:38:56 +0900 Subject: [PATCH 2/3] apply textlint --- .github/workflows/textlint.yml | 2 +- ...03\274\343\203\211\343\201\227\343\202\210\343\201\206.md" | 2 +- ...21\274\343\201\263\345\207\272\343\201\235\343\201\206.md" | 2 +- ...03\274\343\203\210\343\201\227\343\202\210\343\201\206.md" | 2 +- ...02\271\343\203\210\343\201\227\343\202\210\343\201\206.md" | 2 +- ...56\237\350\243\205\343\201\227\343\202\210\343\201\206.md" | 2 +- ...75\234\346\210\220\343\201\227\343\202\210\343\201\206.md" | 2 +- ...03\227\343\202\222\344\275\234\343\202\215\343\201\206.md" | 2 +- ...01\246\343\201\277\343\202\210\343\201\206\357\274\201.md" | 4 ++-- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/textlint.yml b/.github/workflows/textlint.yml index 8bd5514cd..b4115e3d5 100644 --- a/.github/workflows/textlint.yml +++ b/.github/workflows/textlint.yml @@ -6,7 +6,7 @@ jobs: runs-on: ubuntu-latest env: LEVEL: error - FLAGS: docs/**.md + FLAGS: docs/*/ja/**/*.md steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 diff --git "a/docs/ETH-NFT-Collection/ja/section-4/lesson-1_WEB\343\202\242\343\203\227\343\203\252\343\202\222\343\202\242\343\203\203\343\203\227\343\202\260\343\203\254\343\203\274\343\203\211\343\201\227\343\202\210\343\201\206.md" "b/docs/ETH-NFT-Collection/ja/section-4/lesson-1_WEB\343\202\242\343\203\227\343\203\252\343\202\222\343\202\242\343\203\203\343\203\227\343\202\260\343\203\254\343\203\274\343\203\211\343\201\227\343\202\210\343\201\206.md" index ea151c715..ca137dab8 100644 --- "a/docs/ETH-NFT-Collection/ja/section-4/lesson-1_WEB\343\202\242\343\203\227\343\203\252\343\202\222\343\202\242\343\203\203\343\203\227\343\202\260\343\203\254\343\203\274\343\203\211\343\201\227\343\202\210\343\201\206.md" +++ "b/docs/ETH-NFT-Collection/ja/section-4/lesson-1_WEB\343\202\242\343\203\227\343\203\252\343\202\222\343\202\242\343\203\203\343\203\227\343\202\260\343\203\254\343\203\274\343\203\211\343\201\227\343\202\210\343\201\206.md" @@ -747,7 +747,7 @@ if (chainId !== sepoliaChainId) { } ``` -他のブロックチェーン IDは [こちら](https://docs.MetaMask.io/guide/ethereum-provider.html#chain-ids) から見つけることができます。 +他のブロックチェーンIDは [こちら](https://docs.MetaMask.io/guide/ethereum-provider.html#chain-ids) から見つけることができます。 **3\. マイニングアニメーションを作成する** diff --git "a/docs/ETH-NFT-Game/ja/section-3/lesson-3_WEB\343\202\242\343\203\227\343\203\252\343\201\213\343\202\211NFT\343\202\255\343\203\243\343\203\251\343\202\257\343\202\277\343\203\274\343\202\222\345\221\274\343\201\263\345\207\272\343\201\235\343\201\206.md" "b/docs/ETH-NFT-Game/ja/section-3/lesson-3_WEB\343\202\242\343\203\227\343\203\252\343\201\213\343\202\211NFT\343\202\255\343\203\243\343\203\251\343\202\257\343\202\277\343\203\274\343\202\222\345\221\274\343\201\263\345\207\272\343\201\235\343\201\206.md" index 059542b9f..4bb0ee0ee 100644 --- "a/docs/ETH-NFT-Game/ja/section-3/lesson-3_WEB\343\202\242\343\203\227\343\203\252\343\201\213\343\202\211NFT\343\202\255\343\203\243\343\203\251\343\202\257\343\202\277\343\203\274\343\202\222\345\221\274\343\201\263\345\207\272\343\201\235\343\201\206.md" +++ "b/docs/ETH-NFT-Game/ja/section-3/lesson-3_WEB\343\202\242\343\203\227\343\203\252\343\201\213\343\202\211NFT\343\202\255\343\203\243\343\203\251\343\202\257\343\202\277\343\203\274\343\202\222\345\221\274\343\201\263\345\207\272\343\201\235\343\201\206.md" @@ -176,7 +176,7 @@ const checkNetwork = async () => { `window.ethereum.networkVersion`では、ユーザーがどのイーサリアムネットワークを使用しているか確認しています。 -イーサリアムネットワークには異なるチェーン IDが付与されており、SepoliaチェーンのIDは`11155111`です。 +イーサリアムネットワークには異なるチェーンIDが付与されており、SepoliaチェーンのIDは`11155111`です。 したがって、ユーザーがSepolia Test Networkに接続されてないことをWebアプリケーションが検知したら、「Sepolia Test Networkに接続してください!」というアラートがフロントエンドに表示されます。 diff --git "a/docs/ETH-NFT-Maker/ja/section-4/lesson-1_Web\343\202\242\343\203\227\343\203\252\343\202\222\343\202\242\343\203\203\343\203\227\343\203\207\343\203\274\343\203\210\343\201\227\343\202\210\343\201\206.md" "b/docs/ETH-NFT-Maker/ja/section-4/lesson-1_Web\343\202\242\343\203\227\343\203\252\343\202\222\343\202\242\343\203\203\343\203\227\343\203\207\343\203\274\343\203\210\343\201\227\343\202\210\343\201\206.md" index eeb3479fb..12b2a3ac3 100644 --- "a/docs/ETH-NFT-Maker/ja/section-4/lesson-1_Web\343\202\242\343\203\227\343\203\252\343\202\222\343\202\242\343\203\203\343\203\227\343\203\207\343\203\274\343\203\210\343\201\227\343\202\210\343\201\206.md" +++ "b/docs/ETH-NFT-Maker/ja/section-4/lesson-1_Web\343\202\242\343\203\227\343\203\252\343\202\222\343\202\242\343\203\203\343\203\227\343\203\207\343\203\274\343\203\210\343\201\227\343\202\210\343\201\206.md" @@ -246,7 +246,7 @@ if (chainId !== "11155111") { } ``` -他のブロックチェーン IDは [こちら](https://docs.MetaMask.io/guide/ethereum-provider.html#chain-ids) から見つけることができます。 +他のブロックチェーンIDは [こちら](https://docs.MetaMask.io/guide/ethereum-provider.html#chain-ids) から見つけることができます。 **3\. マイニングアニメーションを作成する** diff --git "a/docs/NEAR-Election-dApp/ja/section-2/lesson-3_\344\275\234\346\210\220\343\201\227\343\201\237\346\251\237\350\203\275\343\202\222\343\203\206\343\202\271\343\203\210\343\201\227\343\202\210\343\201\206.md" "b/docs/NEAR-Election-dApp/ja/section-2/lesson-3_\344\275\234\346\210\220\343\201\227\343\201\237\346\251\237\350\203\275\343\202\222\343\203\206\343\202\271\343\203\210\343\201\227\343\202\210\343\201\206.md" index 19c9410d4..72ba0dd26 100644 --- "a/docs/NEAR-Election-dApp/ja/section-2/lesson-3_\344\275\234\346\210\220\343\201\227\343\201\237\346\251\237\350\203\275\343\202\222\343\203\206\343\202\271\343\203\210\343\201\227\343\202\210\343\201\206.md" +++ "b/docs/NEAR-Election-dApp/ja/section-2/lesson-3_\344\275\234\346\210\220\343\201\227\343\201\237\346\251\237\350\203\275\343\202\222\343\203\206\343\202\271\343\203\210\343\201\227\343\202\210\343\201\206.md" @@ -237,7 +237,7 @@ impl Contract { 3つあるテストの関数を1つずつみていきましょう。 -まず最初に宣言している`get_context関数`というのはテストをしているのではなく、テストをするための仮想的なチェーン(Virtual Machine)をビルドするためのものです。 +まず最初に宣言している`get_context関数`というのはテストをしているのではなく、テストをするための仮想的なチェーン(Virtual Machine)をビルドするためのものです。 ```rust fn get_context(predecessor_account_id: AccountId) -> VMContextBuilder { diff --git "a/docs/NEAR-Hotel-Booking-dApp/ja/section-1/lesson-1_\343\202\271\343\203\236\343\203\274\343\203\210\343\202\263\343\203\263\343\203\210\343\203\251\343\202\257\343\203\210\343\201\256\345\237\272\347\244\216\343\202\222\345\256\237\350\243\205\343\201\227\343\202\210\343\201\206.md" "b/docs/NEAR-Hotel-Booking-dApp/ja/section-1/lesson-1_\343\202\271\343\203\236\343\203\274\343\203\210\343\202\263\343\203\263\343\203\210\343\203\251\343\202\257\343\203\210\343\201\256\345\237\272\347\244\216\343\202\222\345\256\237\350\243\205\343\201\227\343\202\210\343\201\206.md" index 1d3790e27..f21379f7b 100644 --- "a/docs/NEAR-Hotel-Booking-dApp/ja/section-1/lesson-1_\343\202\271\343\203\236\343\203\274\343\203\210\343\202\263\343\203\263\343\203\210\343\203\251\343\202\257\343\203\210\343\201\256\345\237\272\347\244\216\343\202\222\345\256\237\350\243\205\343\201\227\343\202\210\343\201\206.md" +++ "b/docs/NEAR-Hotel-Booking-dApp/ja/section-1/lesson-1_\343\202\271\343\203\236\343\203\274\343\203\210\343\202\263\343\203\263\343\203\210\343\203\251\343\202\257\343\203\210\343\201\256\345\237\272\347\244\216\343\202\222\345\256\237\350\243\205\343\201\227\343\202\210\343\201\206.md" @@ -8,7 +8,7 @@ ### 🎓 NEAR のメソッドについて -NEARブロックチェーン には2種類のメソッドがあります。 +NEARブロックチェーンには2種類のメソッドがあります。 | 種類 | ブロックチェーン上のデータに対する操作 |  ガス代 | 実行するアカウントの指定 | | ---- | -------------------------------------- | -------- | ------------------------ | diff --git "a/docs/NEAR-Hotel-Booking-dApp/ja/section-2/lesson-3_\346\251\237\350\203\275\343\203\206\343\202\271\343\203\210\343\202\222\344\275\234\346\210\220\343\201\227\343\202\210\343\201\206.md" "b/docs/NEAR-Hotel-Booking-dApp/ja/section-2/lesson-3_\346\251\237\350\203\275\343\203\206\343\202\271\343\203\210\343\202\222\344\275\234\346\210\220\343\201\227\343\202\210\343\201\206.md" index 968f9fa75..fb1b61852 100644 --- "a/docs/NEAR-Hotel-Booking-dApp/ja/section-2/lesson-3_\346\251\237\350\203\275\343\203\206\343\202\271\343\203\210\343\202\222\344\275\234\346\210\220\343\201\227\343\202\210\343\201\206.md" +++ "b/docs/NEAR-Hotel-Booking-dApp/ja/section-2/lesson-3_\346\251\237\350\203\275\343\203\206\343\202\271\343\203\210\343\202\222\344\275\234\346\210\220\343\201\227\343\202\210\343\201\206.md" @@ -202,7 +202,7 @@ impl Contract { テスト環境を構築する関数と、スマートコントラクト内のメソッドを呼び出して結果を確認する関数を5つ定義しました。 内容を見ていきましょう。 -最初に定義した関数が、環境を構築します。これは、テストをするための仮想的なチェーン(Virtual Machine)をビルドするためのものです。 +最初に定義した関数が、環境を構築します。これは、テストをするための仮想的なチェーン(Virtual Machine)をビルドするためのものです。 ```rust // トランザクションを実行するテスト環境を設定 diff --git "a/docs/Solana-Online-Store/ja/section-0/lesson-1_Solana\344\270\212\343\201\253\343\203\207\343\203\274\343\202\277\343\202\267\343\203\247\343\203\203\343\203\227\343\202\222\344\275\234\343\202\215\343\201\206.md" "b/docs/Solana-Online-Store/ja/section-0/lesson-1_Solana\344\270\212\343\201\253\343\203\207\343\203\274\343\202\277\343\202\267\343\203\247\343\203\203\343\203\227\343\202\222\344\275\234\343\202\215\343\201\206.md" index 1788e4e4e..bf7715c13 100644 --- "a/docs/Solana-Online-Store/ja/section-0/lesson-1_Solana\344\270\212\343\201\253\343\203\207\343\203\274\343\202\277\343\202\267\343\203\247\343\203\203\343\203\227\343\202\222\344\275\234\343\202\215\343\201\206.md" +++ "b/docs/Solana-Online-Store/ja/section-0/lesson-1_Solana\344\270\212\343\201\253\343\203\207\343\203\274\343\202\277\343\202\267\343\203\247\343\203\203\343\203\227\343\202\222\344\275\234\343\202\215\343\201\206.md" @@ -25,7 +25,7 @@ 1\. ウォレット接続など、Webアプリケーションの基礎を構築する。 -2\. Solanaブロックチェーン(テストネット)上で売買する機能を実装する。 +2\. Solanaブロックチェーン(テストネット)上で売買する機能を実装する。 3\. ストアにデータを追加する機能を実装する。 diff --git "a/docs/Solana-dApp/ja/section-0/lesson-1_Solana\343\201\253\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\343\202\222\343\203\207\343\203\227\343\203\255\343\202\244\343\201\227\343\201\246\343\201\277\343\202\210\343\201\206\357\274\201.md" "b/docs/Solana-dApp/ja/section-0/lesson-1_Solana\343\201\253\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\343\202\222\343\203\207\343\203\227\343\203\255\343\202\244\343\201\227\343\201\246\343\201\277\343\202\210\343\201\206\357\274\201.md" index f2be8aa2d..2116ee571 100644 --- "a/docs/Solana-dApp/ja/section-0/lesson-1_Solana\343\201\253\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\343\202\222\343\203\207\343\203\227\343\203\255\343\202\244\343\201\227\343\201\246\343\201\277\343\202\210\343\201\206\357\274\201.md" +++ "b/docs/Solana-dApp/ja/section-0/lesson-1_Solana\343\201\253\343\203\227\343\203\255\343\202\260\343\203\251\343\203\240\343\202\222\343\203\207\343\203\227\343\203\255\343\202\244\343\201\227\343\201\246\343\201\277\343\202\210\343\201\206\357\274\201.md" @@ -26,9 +26,9 @@ 1\. GIFデータを読み込むWebアプリケーションの基礎を構築する。 -2\. Solanaブロックチェーン(テストネット)上にGIFデータを保存するスマートコントラクトをデプロイする。 +2\. Solanaブロックチェーン(テストネット)上にGIFデータを保存するスマートコントラクトをデプロイする。 -3\. Solanaブロックチェーン(テストネット)からGIFデータを取得し、表示するようにWebアプリケーションを再構築する。 +3\. Solanaブロックチェーン(テストネット)からGIFデータを取得し、表示するようにWebアプリケーションを再構築する。 ### 🌍 プロジェクトをアップグレードする From 9dacd49cfb7181c94471f45a2c0c70d6c8de9ae8 Mon Sep 17 00:00:00 2001 From: ysaito <60546319+yk-saito@users.noreply.github.com> Date: Wed, 16 Aug 2023 20:53:20 +0900 Subject: [PATCH 3/3] feat: update test scripts and output --- ...44\343\201\227\343\202\210\343\201\206.md" | 125 +++++------------- 1 file changed, 32 insertions(+), 93 deletions(-) diff --git "a/docs/ETH-DAO/ja/section-4/lesson-1_\347\256\241\347\220\206\346\250\251\351\231\220\343\202\222\350\247\243\351\231\244\343\201\227\343\202\210\343\201\206.md" "b/docs/ETH-DAO/ja/section-4/lesson-1_\347\256\241\347\220\206\346\250\251\351\231\220\343\202\222\350\247\243\351\231\244\343\201\227\343\202\210\343\201\206.md" index b808e63f4..16c1f7a91 100644 --- "a/docs/ETH-DAO/ja/section-4/lesson-1_\347\256\241\347\220\206\346\250\251\351\231\220\343\202\222\350\247\243\351\231\244\343\201\227\343\202\210\343\201\206.md" +++ "b/docs/ETH-DAO/ja/section-4/lesson-1_\347\256\241\347\220\206\346\250\251\351\231\220\343\202\222\350\247\243\351\231\244\343\201\227\343\202\210\343\201\206.md" @@ -499,7 +499,6 @@ export default Home; ```typescript import { AddressZero } from '@ethersproject/constants'; -import nextEnv from '@next/env'; import { ThirdwebSDK } from '@thirdweb-dev/sdk'; import assert from 'assert'; import ethers from 'ethers'; @@ -512,29 +511,17 @@ import { ownerWalletAddress, } from '../src/scripts/module.js'; -const { loadEnvConfig } = nextEnv; -// 環境変数を env ファイルから読み込む -const { PRIVATE_KEY, ALCHEMY_API_URL, WALLET_ADDRESS } = loadEnvConfig( - process.cwd(), -).combinedEnv; - describe('ETH-DAO test', function () { - // 環境変数が取得できてとれているか確認 - if (!PRIVATE_KEY || PRIVATE_KEY === '') { - // process. - throw new Error('🛑 Private key not found.'); - } - - if (!ALCHEMY_API_URL || ALCHEMY_API_URL === '') { - throw new Error('🛑 Alchemy API URL not found.'); - } - - if (!WALLET_ADDRESS || WALLET_ADDRESS === '') { - throw new Error('🛑 Wallet Address not found.'); - } + // テスト用のウォレットを作成 + const demoWallet = ethers.Wallet.createRandom(); + // テスト用のPublic RPC Endpointを設定 + const demoAlchemyRPCEndpoint = 'https://eth-sepolia.g.alchemy.com/v2/demo'; const sdk = new ThirdwebSDK( - new ethers.Wallet(PRIVATE_KEY!, ethers.getDefaultProvider(ALCHEMY_API_URL)), + new ethers.Wallet( + demoWallet.privateKey, + ethers.getDefaultProvider(demoAlchemyRPCEndpoint), + ), ); // 1-initialize-sdk.tsのテスト @@ -542,8 +529,8 @@ describe('ETH-DAO test', function () { // sdkからアドレスを取得 const address = await sdk.getSigner()?.getAddress(); - // sdkを初期化したアドレスが自分のウォレットアドレスと一致しているか確認 - assert.equal(address, WALLET_ADDRESS); + // sdkを初期化したアドレスがテスト用に生成したウォレットアドレスと一致しているか確認 + assert.equal(address, demoWallet.address); }); // edition-drop, ERC1155-token, gavanance-tokenの3つのコントラクトを取得 @@ -672,76 +659,28 @@ yarn test 下のような結果がでいれば成功です! ``` -# Subtest: ETH-DAO test - # Subtest: sdk is working - ok 1 - sdk is working - --- - duration_ms: 0.512959 - ... - # Subtest: metadata is set - ok 2 - metadata is set - --- - duration_ms: 8049.745916 - ... - # Subtest: NFT is minted - ok 3 - NFT is minted - --- - duration_ms: 1770.656584 - ... - # Subtest: NFT condition is set - ok 4 - NFT condition is set - --- - duration_ms: 3851.25 - ... - # Subtest: token contract is deployed - ok 5 - token contract is deployed - --- - duration_ms: 1713.385542 - ... - # Subtest: token is minted - ok 6 - token is minted - --- - duration_ms: 1683.686541 - ... - # Subtest: token is transfered - ok 7 - token is transfered - --- - duration_ms: 1075.365209 - ... - # Subtest: vote contract has right info - ok 8 - vote contract has right info - --- - duration_ms: 592.601458 - ... - # Subtest: vote contract has as 9 times much tokens as owner has - ok 9 - vote contract has as 9 times much tokens as owner has - --- - duration_ms: 2624.013792 - ... - # Subtest: vote contract has proposal - ok 10 - vote contract has proposal - --- - duration_ms: 2237.117125 - ... - # Subtest: token role is passed to contract - ok 11 - token role is passed to contract - --- - duration_ms: 2768.723583 - ... - 1..11 -ok 1 - ETH-DAO test - --- - duration_ms: 26372.588292 - ... -1..1 -# tests 1 -# pass 1 -# fail 0 -# cancelled 0 -# skipped 0 -# todo 0 -# duration_ms 26438.270417 -✨ Done in 30.81s. +▶ ETH-DAO test + ✔ sdk is working (2.805292ms) + ✔ metadata is set (4997.410834ms) + ✔ NFT is minted (1001.915459ms) + ✔ NFT condition is set (3716.073667ms) + ✔ token contract is deployed (1979.918625ms) + ✔ token is minted (1944.507292ms) + ✔ token is transfered (4742.419958ms) + ✔ vote contract has right info (1089.866375ms) + ✔ vote contract has as 9 times much tokens as owner has (1798.956209ms) + ✔ vote contract has proposal (2365.098833ms) + ✔ token role is passed to contract (2495.2875ms) +▶ ETH-DAO test (26136.361542ms) + +ℹ tests 11 +ℹ suites 1 +ℹ pass 11 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 0.058375 ``` ### 🙋‍♂️ 質問する