unchain-tech / unchain-projects Goto Github PK
View Code? Open in Web Editor NEWOur open-source projects live here.
Home Page: https://buidl.unchain.tech/
License: MIT License
Our open-source projects live here.
Home Page: https://buidl.unchain.tech/
License: MIT License
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]);
問題:
下記URLのテキストにおいて、下図のPolygon Mainnetという名前が、おそらく最新のチェーンではMatic Mainnetになってると思います。(少なくとも私のMetamaskでは)
https://unchain-portal.netlify.app/projects/4-polygon-generative-nft/section-3-lesson-2
対策
図とテキストが変わる事がベストですが、括弧書きでMatic mainnetと記載があるだけでも十分かと思います、
ETH-NFT-Makerなどバナー画像がそもそも存在しないプロジェクトがある。
また、section-0
なのかREADME
なのかの命名が一貫していない。
修正お願いします 🙏🏽
修正は別ブランチにpushの後PRお願いします
SOLANA NFT DROP
Section0 Lesson1
「本プロジェクトは下記の3つのステップに分かれています。」の下記の部分が抜け落ちていると思われます。
該当部分gyazoで撮りました。
すいません。もう1つ見つかりました。
SOLANA ONLINE STORE 最後の部分で文章が重複しています。
上の文のairtableのリンクを押すと関係の無いところへ飛びます。
リンクを押したところ、ページ上部へ飛んだので気がつきました。
VScodeで該当する部分を開けてみましたが、文章は1度しか書かれておらず、原因はわかりませんでした。
該当部分gyazoにて撮りました。
https://gyazo.com/b6c7a046df94f952531d09af26dd7fad
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)
section2からnpm run startを使いますが、終了のさせ方を知らないといちいちターミナルを消していたので、時間が取られます。npm run start をしたあとのターミナルからctrl + cで終了させれるみたいな記述があったらわかりやすいかもしれません
学習コンテンツを多言語対応させたい
docs/[CONTENT_TITLE]/
下に ja
の他にも en
es
zh
など徐々に増やしていきたい
良質なコンテンツが溜まりつつあるので言語によるアクセスへの障壁を取り除きたい
NEAR-Hotel-Booking-dApp Section3 Lesson1
以下のファイルが near-hotel-booking-dapp / frontend
に存在しません。
near-api.js
near-config.js
インストールしたCreate NEAR Appのテンプレートがコンテンツ作成時のものと異なっている可能性がございます。
Create NEAR App frontend template :
https://github.com/near/create-near-app/tree/master/templates/frontend
NEAR-BikeShare Section2 Lesson2
下記のリンク先が見つかりませんでした。
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というアプリを使いました。無料故か、下に広告出てしまいます。
画象と文字の間が空いている問題
学習画面を見ていたら、画象と文字が大きく空いている(全ての箇所)ので、お手隙の際に詰めていただけると幸いです。
VisualStudioで見たら、文字と画像の間は空白が無かったので、フロントエンド側で調整いただけるとありがたいです!
例:https://app.unchain.tech/learn/Polygon-Generative-NFT/section-1_lesson-1
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
画像の新規差し込み
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
Solana-dApp Section 1 Lesson 1
が無くなってしまってます。昨日までは、あったように思います。
( GitHub 慣れてないので、ここへのコメントでいいのか、このコメントが正しいのか分かりませんが取り急ぎ・・・)
PhantomWalletの最初の設定で、Devnetに変更する際、
「設定」→「デベロッパー設定」→「ネットワークの変更」→「DevNet」
のように、「デベロッパー設定」を挟みますので、テキストの確認をお願いします。
Why:
下記リンクにおいて、solidityのバージョンが0.8.0と0.8.4が混在しています。マイナーバージョンなので問題無いとは思いますが。
https://unchain-portal.netlify.app/projects/1-eth-dapp/section-4-lesson-1
What:
その他レッスンでは0.8.4を使われているので、下図2箇所を0.8.0から0.8.4に修正するのが適切かと思います。
AVAX-Messenger Section2 Lesson5【 ETHとAVAX 】
下記のリンク先が確認できませんでした。
1ETH = 1AVA というわけではありません。
詳しくはこちら (https://docs.avax.network/specs/coreth-arc20s#nativeassetcall) をご覧ください。
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の後ろを「 : 」→ 「 / 」に変更すると正しく表示されました。
ご確認のほどよろしくお願いいたします。
リンク切れがありました。正しいリンク先が分からなかったのでIssueだけ起票しておきます。
https://unchain-portal.netlify.app/projects/3-ETH-NFT-game/section-1-Lesson-4
Rinkebyネットワークはもうdeprecatedなので学習コンテンツの該当箇所をGörliもしくはSepoliaに更新したい
https://blog.ethereum.org/2022/06/21/testnet-deprecation
Lesson-4, ABIファイルを取得するにて、最後のApp.jsのコードを再度コピペする形なので、contractAddressが運営さんが用意した 0x3610145E4c6C801bBf2F926DFd8FDd2cE1103493 に戻っちゃって、みんなそっちに挨拶しているようですw
できれば .env 導入したい
https://unchain-portal.netlify.app/projects/2-eth-nft-collection/section-4-lesson-1
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}`);
}
});
SOLANA ONLINE STORE のSection3 Lesson1ですが、図の部分のdotenvがリンクが切れていると思われます。
ご確認お願い申し上げます。
クリックすると500エラーページへ飛びます。
該当部分をgyazoで撮りました。
ETH-NFT-Game Section4 Lesson3
.gitignoreファイルに、「.DS_Store」以外記載されておりません。
node_modulesなど不必要なものは省いてあげるほうがより丁寧だと感じました。
リモートにプッシュする際、時間が他のコースよりもかかるので驚く方がいらっしゃるかもしれません。
NEAR-MulPay Section2 Lesson2 main.dart
main.dartの全体コードをコンテンツに追加
signin.dartの説明後、続けてmain関数の詳細を確認していますが、
main.dartへ移動する等の説明が見当たらないためわかりにくいと感じました。
加えて、main.dartに使用するimportやパスのコードが書かれていないのでこちらもコンテンツに加える必要があると思います。
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://unchain-portal.netlify.app/projects/2-ETH-NFT-collection/section-2-Lesson-3
Base64.solに関して、 貼り付けて下さい
となっているので、どれだけの人がTypeされたり、コードを確認するか分かりませんが、
Hexコードの部分に関して、小文字もしくは大文字で統一しておいた方が初学者に対しては親切なような気がします。
統一した方が良いという話であれば、PRを送ります。
「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 identifierUNLICENSED
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にある Unlicense
は The Unlicense という、ソフトウェアでのパブリックドメインを表明するものです(プロプライエタリと真逆)。もしこちらを意図していたならばそのように改訂する手もありますが、 UNLICENSED
/ Unlicense
で紛らわしいので個人的にはお勧めいたしかねます。
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
.
discordで質問があったので調べて見たら変な気がして
ですが動作確認の方法も一から作るのは難しいので、確認したいです
問題
下記リンクにて、下図の赤丸の箇所のforループ、require内の段落がずれてる。
https://unchain-portal.netlify.app/projects/4-Polygon-Generative-NFT/section-2-Lesson-1
対策
赤丸箇所を一段ずらす。
見本レポジトリを改善したのでコンテンツ内容をそれに伴うものに更新
コードの中で不要と思われる行
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します。
FYI: Solidity の日本語ドキュメント
コントラクト
と訳されている
バランス
及び 残高
と混在している
バランスだと日本語だと「均衡」を表す言葉としてもありややこしいので、「残高」の方が直感的に伝わり理解しやすいと思うため
下記のリンク先に移ると、Page Not Found
が表示されます。
👥 サブアカウントを作り直す
作り直す理由としては、予期せぬエラーを防ぐためです。 そのままデプロイをして、何かしらのメソッドを呼び出した際におそらく以下のようなパニックエラーが起こるでしょう。
Cannot deserialize the contract state.
詳しい説明は[こちら](https://www.near-sdk.io/upgrading/prototyping)を確認してください。
現在はこちらで確認できるかと思います。
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の画像が表示しないエラーが発生します。
SOLANA DAPP の Section2 Lesson1、Anchorをインストールする際の説明文中にあるAnchorのリンクですが、クリックすると404ページとなります。リンクが切れているかもしれません。
該当場所gyazoで撮りました。
ETH DAOの
の中身がない
n/a
至急、直接PR送ってください
n/a
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.