Skip to content

Commit

Permalink
Merge pull request #1 from unchain-tech/main
Browse files Browse the repository at this point in the history
update CI (textlint)
  • Loading branch information
wufengtao1 authored Aug 17, 2023
2 parents 0c19798 + 121e121 commit 51ad9dc
Show file tree
Hide file tree
Showing 11 changed files with 44 additions and 105 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/textlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
125 changes: 32 additions & 93 deletions docs/ETH-DAO/ja/section-4/lesson-1_管理権限を解除しよう.md
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand All @@ -512,38 +511,26 @@ 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のテスト
it('sdk is working', async 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つのコントラクトを取得
Expand Down Expand Up @@ -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
```
### 🙋‍♂️ 質問する
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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\. マイニングアニメーションを作成する**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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に接続してください!」というアラートがフロントエンドに表示されます。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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\. マイニングアニメーションを作成する**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

### 🎓 NEAR のメソッドについて

NEARブロックチェーン には2種類のメソッドがあります
NEARブロックチェーンには2種類のメソッドがあります

| 種類 | ブロックチェーン上のデータに対する操作 |  ガス代 | 実行するアカウントの指定 |
| ---- | -------------------------------------- | -------- | ------------------------ |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ impl Contract {
テスト環境を構築する関数と、スマートコントラクト内のメソッドを呼び出して結果を確認する関数を5つ定義しました。
内容を見ていきましょう。

最初に定義した関数が、環境を構築します。これは、テストをするための仮想的なチェーン(Virtual Machine)をビルドするためのものです。
最初に定義した関数が、環境を構築します。これは、テストをするための仮想的なチェーンVirtual Machineをビルドするためのものです。

```rust
// トランザクションを実行するテスト環境を設定
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

1\. ウォレット接続など、Webアプリケーションの基礎を構築する。

2\. Solanaブロックチェーン(テストネット)上で売買する機能を実装する。
2\. Solanaブロックチェーンテストネット上で売買する機能を実装する。

3\. ストアにデータを追加する機能を実装する。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@

1\. GIFデータを読み込むWebアプリケーションの基礎を構築する。

2\. Solanaブロックチェーン(テストネット)上にGIFデータを保存するスマートコントラクトをデプロイする。
2\. Solanaブロックチェーンテストネット上にGIFデータを保存するスマートコントラクトをデプロイする。

3\. Solanaブロックチェーン(テストネット)からGIFデータを取得し、表示するようにWebアプリケーションを再構築する。
3\. SolanaブロックチェーンテストネットからGIFデータを取得し、表示するようにWebアプリケーションを再構築する。


### 🌍 プロジェクトをアップグレードする
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"repository": "https://github.com/unchain-dev/UNCHAIN-projects.git",
"author": "SHØ <[email protected]> (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": {
Expand Down

0 comments on commit 51ad9dc

Please sign in to comment.