Git Product home page Git Product logo

unchain-projects's Introduction

UNCHAIN-projects

The project is in fact a simple markdown filesystem that is deployed as a static website using docusaurus.

Local Development

$ yarn start

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

✅ textlint について

文中の表記揺れや誤字を防ぐため、textlint という校正チェックツールを入れています。commit する前、PR に更新があった際に GitHub Actions にて textlint を走らせています。ルールや定義の変更がある際は、下記ファイルを変更してください。

Build

$ yarn build

This command generates static content into the build directory and can be served using any static contents hosting service.

Contributors

unchain-projects's People

Contributors

akokubu avatar alecrem avatar bayamasa avatar cardene777 avatar endorphins-kazu avatar geeknees avatar hayashi-ay avatar honganji avatar junkei-okinawa avatar katotenmk2 avatar kentatakase avatar kmjones1979 avatar koji avatar mashharuki avatar maztak avatar neila avatar ryojiroakiyama avatar sakataro avatar sheegull avatar taizenk avatar tequdev avatar totokazu avatar usvdh avatar wufengtao1 avatar yamahadev avatar yawn-c111 avatar yk-saito avatar yokinist avatar yuyaterada1117 avatar yyokii avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

unchain-projects's Issues

文章の重複

提案内容

すいません。もう1つ見つかりました。
SOLANA ONLINE STORE 最後の部分で文章が重複しています。
上の文のairtableのリンクを押すと関係の無いところへ飛びます。

背景

リンクを押したところ、ページ上部へ飛んだので気がつきました。

備考

VScodeで該当する部分を開けてみましたが、文章は1度しか書かれておらず、原因はわかりませんでした。

該当部分gyazoにて撮りました。
https://gyazo.com/b6c7a046df94f952531d09af26dd7fad

教材の内容について(2箇所)

提案内容

8-Ganache-Yield-Farm を進めていったところ、教材通りに進めるとエラーになるところが2箇所ありましたので報告いたします。
後続の初心者の方もつまづかれると思いますので、ご確認いただけますと幸いです。

背景

Section2-lesson1の画像の部分について、教材記載の import "./DaiToken.sol"; ではエラーがでました。
import "./MockDaiToken.sol"; にしましたら、先へすすめました。
Section3-lesson3の画像の部分について、console.log(stakingBalance.toString())のところエラーがでました。
console.log(tokenFarmBalance.toString())にしましたら、先へすすめました。

備考

Section2-lesson1参考画像
https://gyazo.com/42b031183d963d23214ed14876c1b48a

Section3-lesson3参考画像
https://gyazo.com/f87ca3a64f63d57f587923ce0e4f7db2

gyazoというアプリを使いました。無料故か、下に広告出てしまいます。

.gitignoreの再確認

提案内容

ETH-NFT-Game Section4 Lesson3

.gitignoreファイルに、「.DS_Store」以外記載されておりません。
node_modulesなど不必要なものは省いてあげるほうがより丁寧だと感じました。

リモートにプッシュする際、時間が他のコースよりもかかるので驚く方がいらっしゃるかもしれません。

Color change to improve readability

Why

テキストの可読性を上げるため。
背景がグレーで文字色が薄い黒だと色の系統が被るためメリハリがつきにくく、どうしても可読性高くなりにくいかもです。

What

テキストの背景色・文字色をそれぞれ白・黒にする。(ダークモード検討時は逆でも良いかもです。)
例としてnoteをあげてますが、メリハリがついて読みやすいなって思ってます。

unchain Note
unchain note

npm run start後のターミナルを終了させる方法

section2からnpm run startを使いますが、終了のさせ方を知らないといちいちターミナルを消していたので、時間が取られます。npm run start をしたあとのターミナルからctrl + cで終了させれるみたいな記述があったらわかりやすいかもしれません

test

提案内容

背景

備考

"npm init"の説明が漏れているので追加をしたい

提案内容

https://app.unchain.tech/learn/ETH-dApp/section-2_lesson-1/
の「ターミナル上でdApp-starter-projectに移動して下記を実行しましょう。」の下にnpm initの実行を促す文言を追加していただいた方がよりテキストが丁寧になるのではないかと思います。

背景

テキスト通りにnpm installを行うとnpm ERR! enoent This is related to npm not being able to find a file.というエラーが発生します。

備考

https://app.unchain.tech/learn/ETH-dApp/section-2_lesson-1/

スクリーンショット 2023-02-02 21 33 50

fetchNFTMetadata関数の写し忘れ

提案内容

ETH-NFT-Game Section4 Lesson1のApp.jsにsetIsLoadingを追加する箇所で、
fetchNFTMetadata関数を移し忘れている可能性があります。

変更前:
useEffect(() => {
 const fetchNFTMetadata = async () => {
 .
 .
 .
 setIsLoading(false);
}, [currentAccount]);

変更後:
useEffect(() => {
 const fetchNFTMetadata = async () => {
 .
 .
 .
 setIsLoading(false);
 };
 if (currentAccount) {
  console.log("CurrentAccount:", currentAccount);
  fetchNFTMetadata();
 }
}, [currentAccount]);

リンク先が確認できません。

提案内容

AVAX-Messenger Section2 Lesson5【 ETHとAVAX 】

下記のリンク先が確認できませんでした。

1ETH = 1AVA というわけではありません。
詳しくはこちら (https://docs.avax.network/specs/coreth-arc20s#nativeassetcall) をご覧ください。

Hexの小文字&大文字

https://unchain-portal.netlify.app/projects/2-ETH-NFT-collection/section-2-Lesson-3
Base64.solに関して、 貼り付けて下さいとなっているので、どれだけの人がTypeされたり、コードを確認するか分かりませんが、
Hexコードの部分に関して、小文字もしくは大文字で統一しておいた方が初学者に対しては親切なような気がします。

統一した方が良いという話であれば、PRを送ります。

docs/ASTAR-SocialFi new fig 画像差し込み

提案内容

画像の新規差し込み
docs/ASTAR-SocialFi/ja/section-0/Lesson_2_環境構築をしよう.md
https://github.com/unchain-dev/UNCHAIN-projects/blob/main/docs/ASTAR-SocialFi/ja/section-0/Lesson_2_%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E3%82%92%E3%81%97%E3%82%88%E3%81%86.md?plain=1

// TODO default image of next.js
を新しい画像と差し替える。

266
-- // TODO default image of next.js
++![](/public/images/ASTAR-SocialFi/section-0/0_2_14.png)

279
--![](/public/images/ASTAR-SocialFi/section-0/0_2_14.png)
++![](/public/images/ASTAR-SocialFi/section-0/0_2_15.png)

画像の番号の割り振りを下記のように変更
従来:
className 変更前の画像 none to 0_2_14.png
className 変更後の画像 0_2_14.png to 0_2_15.png

新 0_2_14.png
0_2_14

新 0_2_15.png
0_2_15

Contract 及び Balance の表記揺れについて

起きている事象

提案内容

  • Contact: コントラクト
  • Balance: 残高
    に統一する

FYI: Solidity の日本語ドキュメント

バランスだと日本語だと「均衡」を表す言葉としてもありややこしいので、「残高」の方が直感的に伝わり理解しやすいと思うため

Section-2-Lesson-4: unintended contractAddress override

Lesson-4, ABIファイルを取得するにて、最後のApp.jsのコードを再度コピペする形なので、contractAddressが運営さんが用意した 0x3610145E4c6C801bBf2F926DFd8FDd2cE1103493 に戻っちゃって、みんなそっちに挨拶しているようですw
できれば .env 導入したい

Translate the learning contents into other languages

提案内容

学習コンテンツを多言語対応させたい

docs/[CONTENT_TITLE]/下に ja の他にも en es zh など徐々に増やしていきたい

背景

良質なコンテンツが溜まりつつあるので言語によるアクセスへの障壁を取り除きたい

NEAR-MulPay 加筆

提案内容

NEAR-MulPay Section2 Lesson2 main.dart

main.dartの全体コードをコンテンツに追加

背景

signin.dartの説明後、続けてmain関数の詳細を確認していますが、
main.dartへ移動する等の説明が見当たらないためわかりにくいと感じました。

加えて、main.dartに使用するimportやパスのコードが書かれていないのでこちらもコンテンツに加える必要があると思います。

SolidityのVersion表示について

提案内容

102-ETH-NFT-Collectionのsection-2-Lesson-3について、
中盤のMyEpicNFT.solのコード内容について、
pragma solidity 0.8.9;
と記載されておりますが、エラーが出ました。

前述のコードを参考に、以下と思います。
pragma solidity ^0.8.9;

細かいですがご確認いただけると幸いです。

備考

https://unchain-portal.netlify.app/projects/102-ETH-NFT-Collection/section-2-Lesson-3

section-4-Lesson-1のMyEpicNFT.solも同様に” ^ ”が抜けているようです。
https://unchain-portal.netlify.app/projects/102-ETH-NFT-Collection/section-4-Lesson-1

ETH-dAppの更新

提案内容

見本レポジトリを改善したのでコンテンツ内容をそれに伴うものに更新

OpenSeaリンクフォーマットの誤記

提案内容

ETH-NFT-Game Section3 Lesson5のおまけの箇所でopenseaリンクの誤記が見られました。

変更前:
https://testnets.opensea.io/assets/${gameContract.address}:${tokenId.toNumber()}?tab=details

コンテンツ内では上記のようなフォーマットが採用されていますが、このままですと期待するOpenseaのページに移ることはできませんでした。
おそらく、Rarible rinkeby testnet用のリンクになっていると思います。

変更後:
https://testnets.opensea.io/assets/${gameContract.address}/${tokenId.toNumber()}

gameContract.addressの後ろを「 : 」→ 「 / 」に変更すると正しく表示されました。
ご確認のほどよろしくお願いいたします。

i wanna PR templete

what's this

  • PRのtempleteが欲しい

motivation

  • GHに慣れてないユーザが少しでも気楽にPR投げられるようにしたい
  • PRを見たときに何がしたいPRかひと目で分かるようにしてreveiewコストを減らす

solution

  • PRtemplete作るw
  • あれもこれも盛り込んだマッチョなテンプレは不要(それ自体がコストになる
  • 何なら「何をしたか」と、(あるなら)issueへのリンクだけでも良い

misc

  • みんなでワイワイ考えよ

vercelにデプロイする参考画像がmy-wave-portalになっている

デプロイするプロジェクトはdapp-starter-projectであると文字では記載されているが、画像のプロジェクト名はmy-wave-portalになっている。
これはcontract側のプロジェクト名と被っているので、混乱する人がでるかも

image

まぁちゃんと文章をみればわかることではあるので、勘違いする人が出てから対応してもいいかもと思いました

link先のページが見つかりません。

NEAR-Hotel-Booking-dApp Section2 Lesson4

下記のリンク先に移ると、Page Not Found が表示されます。

👥 サブアカウントを作り直す
作り直す理由としては、予期せぬエラーを防ぐためです。 そのままデプロイをして、何かしらのメソッドを呼び出した際におそらく以下のようなパニックエラーが起こるでしょう。

Cannot deserialize the contract state.
詳しい説明は[こちら](https://www.near-sdk.io/upgrading/prototyping)を確認してください。

現在はこちらで確認できるかと思います。

Previous lesson ボタンの設置

提案内容

'Next lesson' の左右対称にある現状の 'Back to project overview' ボタンを 'Previous lesson' ボタンに変えたらどうか?

背景

一つ前のレッスンに戻るボタンだと直感的に思って押して、目次に飛ばされてしまうということが何度もあった。

備考

ここを変えたい 赤の矢印
スクリーンショット 2022-04-12 2 02 47

[3-ETH-NFT-game][section-1-Lesson-4]NFTの説明URLのリンク切れ

PhantomWalletのネットワーク設定

提案内容

PhantomWalletの最初の設定で、Devnetに変更する際、
「設定」→「デベロッパー設定」→「ネットワークの変更」→「DevNet」
のように、「デベロッパー設定」を挟みますので、テキストの確認をお願いします。

画象と文字の間が空いている問題

提案内容

画象と文字の間が空いている問題

背景

学習画面を見ていたら、画象と文字が大きく空いている(全ての箇所)ので、お手隙の際に詰めていただけると幸いです。
VisualStudioで見たら、文字と画像の間は空白が無かったので、フロントエンド側で調整いただけるとありがたいです!

備考

例:https://app.unchain.tech/learn/Polygon-Generative-NFT/section-1_lesson-1

image
image

誤記:vercelの設定

提案内容

Solana-Online-Store Section4
vercelの設定がSolana-NFT-Dropの設定になっております。

FRAMEWORK PRESET :
Create React App → Next.js

ROOT DIRECTORY : 
app → ./

NAME: 
SOLANA_NETWORK → NEXT_PUBLIC_OWNER_PUBLIC_KEY

VALUE: 
devnet → (phantom wallet address)

コンテンツに不明記なテストケースあり

提案内容

NEAR-MulPay Section1 Lesson3

swap.test.ts に書かれていないテストコードが説明の箇所にございます。
そちらのコードを書いてテストしましたが、listUpTokenAddress がswap.solに定義されていないとのことでエラーがでました。
コンテンツ内に記されているテスト結果と一致しませんので、説明の部分を省いてもよいかもしれません。

以下明記されていないコード

it("List up token address with that of symbol", async function () {
      const {
        DaiToken,
        EthToken,
        AoaToken,
        ShibToken,
        SolToken,
        UsdtToken,
        UniToken,
        MaticToken,
        SwapContract,
      } = await loadFixture(deployTokenFixture);
      const DAI = ethers.utils.formatBytes32String("DAI");
      const ETH = ethers.utils.formatBytes32String("ETH");
      const AOA = ethers.utils.formatBytes32String("AOA");
      const SHIB = ethers.utils.formatBytes32String("SHIB");
      const SOL = ethers.utils.formatBytes32String("SOL");
      const USDT = ethers.utils.formatBytes32String("USDT");
      const UNI = ethers.utils.formatBytes32String("UNI");
      const MATIC = ethers.utils.formatBytes32String("MATIC");

      const tokenSymbolList = [DAI, ETH, AOA, SHIB, SOL, USDT, UNI, MATIC];
      const tokenAddressList = [
        DaiToken.address,
        EthToken.address,
        AoaToken.address,
        ShibToken.address,
        SolToken.address,
        UsdtToken.address,
        UniToken.address,
        MaticToken.address,
      ];

      for (let i = 0; i < tokenSymbolList.length; i++) {
        await SwapContract.listUpTokenAddress(
          tokenSymbolList[i],
          tokenAddressList[i]
        );
        const tokenAddress = await SwapContract.returnTokenAddress(
          tokenSymbolList[i]
        );
        const tokenSymbol = ethers.utils.parseBytes32String(tokenSymbolList[i]);
        console.log(`${tokenSymbol} token address :${tokenAddress}`);
      }
    });

ASTAR-SocialFi code might to be deleted

提案内容

コードの中で不要と思われる行

ASTAR-SocialFi/section-2_lesson-1

postFunction.tsx
同じ if が二重になっている
761 if (output !== undefined && output !== null)
762 if (output !== undefined && output !== null)

FT.tsx
使われていない変数 date
625 export const transfer = async (props: PropsTF) => {
630 const date = new Date();

647 export const distributeReferLikes = async (props: PropsDRL) => {
652 const date = new Date();

背景

備考

コードの中身に関わることなので Issue にしています。
妥当であれば、指示いただければPRします。

https://github.com/unchain-dev/UNCHAIN-projects/blob/main/docs/ASTAR-SocialFi/ja/section-2/Lesson_1_%E3%82%B3%E3%83%B3%E3%83%88%E3%83%A9%E3%82%AF%E3%83%88%E3%81%AE%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%9B%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%97%E3%82%88%E3%81%86.md?plain=1

コントラクトのコードが UNLICENSED (≠ The Unlicense) なのはMITと矛盾するのではないか

提案内容

https://github.com/unchain-dev/UNCHAIN-projects/blob/2c73353415c41290ef0b9afad94c2f1f1d6e7e6f/docs/1-ETH-dApp/ja/section-1/Lesson_2_Solidity%E3%81%A7%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%82%B3%E3%83%B3%E3%83%88%E3%83%A9%E3%82%AF%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%82%88%E3%81%86.md?plain=1#L39-L62

1-ETH-dApp」の Section 1 Lesson 2 にて、コントラクトのライセンスについて上記のように解説があります。

この SPDX-License-Identifier: UNLICENSED という記述は(そもそもSPDXとしてはinvalidのようですが)いわゆるプロプライエタリなコードを示すのに、npmやSolidityなど一部で使われているようです。(cf: https://opensource.stackexchange.com/a/12412

Unfortunately, the format SPDX-License-Identifier: UNLICENSED is an invalid SPDX license expression per the SPDX spec, because the identifier UNLICENSED is not part of the SPDX license list. While well-intentioned, Solidity has here caused potentially dangerous confusion.

一方で当プロジェクトはLICENSEファイルこそ無いものの、README.mdに「全てオープンソース(MIT ライセンス)で運用されています」とあり、ドキュメント中のサンプルソースコードについても同様に適用されていると期待できます。

もちろん、チュートリアルを実施している各ユーザーがそれぞれの判断において、元コード及びユーザー独自のコードをプロプライエタリとして(再)宣言することは可能でしょう(MITは厳格なcopyleftと違い、コードのプロプライエタリ化も容認しているはずと記憶しています)。しかし、サンプル中にUNLICENSEDがサンプルソースとセットで書いてあるのは、元コードがそもそもプロプライエタリ、流用不可であると誤認できてしまいます。あるいは誤認ではなく意図的な設定であれば、MITライセンスのプロジェクト中に流用不可なコードが混在していることになり、ライセンスに矛盾が生じています。

解決策としては、ドキュメント中では SPDX-License-Identifier: MIT で宣言し、必要であれば UNLICENSED の説明をするのが良いと思われます。(チュートリアル完了時など)

備考

なお、上記StackExchangeの回答にもありますが、SPDXにある UnlicenseThe Unlicense という、ソフトウェアでのパブリックドメインを表明するものです(プロプライエタリと真逆)。もしこちらを意図していたならばそのように改訂する手もありますが、 UNLICENSED / Unlicense で紛らわしいので個人的にはお勧めいたしかねます。

テキスト修正 Polygon mainnet ⇛ Matic mainnet

問題:
下記URLのテキストにおいて、下図のPolygon Mainnetという名前が、おそらく最新のチェーンではMatic Mainnetになってると思います。(少なくとも私のMetamaskでは)

image

https://unchain-portal.netlify.app/projects/4-polygon-generative-nft/section-3-lesson-2

対策
図とテキストが変わる事がベストですが、括弧書きでMatic mainnetと記載があるだけでも十分かと思います、

run.jsの扱い方について

why

  • run.jsでテストを書くことに違和感がある

what

  • hardhatには(というかtruffleには)unittestを書けるmochaやchaiみたいな子がいるのでそちらを使ってみてはどうだろう?
  • pros
     - debugしやすい
     - 本来の使い方に近い(と思う
  • cons
     - ユニットテストのお作法を覚えなくちゃいけないのがしんどいかも...

misc

  • ジャストアイデアな温度感なので議論希望
  • 工数かかるし

Add control + c shortcut to docs

Similar issue to #13

In section 1 lesson 5 you run the command: npx hardhat node

It might be worth adding a note saying that you quit with control + c.

imgurリンク→CID変更時について

提案内容

ETH-NFT-Game Section4 Lesson2
imgurリンクをCIDに変更する際、run.jsだけではなくdeploy.jsにも変更する説明をいれたほうがより丁寧だと感じました。

<img
 src={https://cloudflare-ipfs.com/ipfs/${characterNFT.imageURI}}
 alt={Character ${characterNFT.name}}
/>

Arena/index.jsなどで上記のようにsrcをipfs用リンクに変更しているので、
imgurの画像が表示しないエラーが発生します。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.