Skip to content

Commit

Permalink
Merge pull request #497 from unchain-tech/fix/polygon-amoy
Browse files Browse the repository at this point in the history
change mumbai to amoy
  • Loading branch information
neila authored Jun 15, 2024
2 parents a8480df + bf38e60 commit 1e2cf4d
Show file tree
Hide file tree
Showing 17 changed files with 90 additions and 90 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ OpenZeppelinには非常に多くの機能が実装されておりインポー
"private": true,
"scripts": {
"run:script":"npx hardhat run scripts/run.js",
"deploy": "npx hardhat run scripts/deploy.js --network mumbai",
"deploy": "npx hardhat run scripts/deploy.js --network amoy",
"test": "npx hardhat test"
},
"devDependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ function price(string calldata name) public pure returns(uint) {
}
```

_注:**Mumbai などテストネットでは価格を下げてミントしましょう。** 1 Matic のような設定をするとテストネットの資金がすぐになくなります。 ローカルで実行している場合は何回でも課金できますが、実際のテストネットワークを使用している場合は注意が必要です。_
_注:**Amoy などテストネットでは価格を下げてミントしましょう。** 1 Matic のような設定をするとテストネットの資金がすぐになくなります。 ローカルで実行している場合は何回でも課金できますが、実際のテストネットワークを使用している場合は注意が必要です。_

他に、次の3つを追加しました。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

**「これは新しいスマートコントラクトです。私のスマートコントラクトをブロックチェーンに追加してから、他の人にもそのことを伝えてください」**

**(以下の Alchemy や Mumbai ネットの設定は他の課題で既に学習している場合は適宜ご自身で割愛してください)**
**(以下の Alchemy や Amoy ネットの設定は他の課題で既に学習している場合は適宜ご自身で割愛してください)**

ここで[Alchemy](https://alchemy.com/)を使います。

Expand All @@ -36,7 +36,7 @@ Alchemyのアカウントを作成したら、Dashboardの`CREATE APP`ボタン
- `NAME`: プロジェクトの名前(例: `CoolDomains`)
- `DESCRIPTION`: プロジェクトの概要(例:`ENS on Polygon`)
- `CHAIN`: `Polygon`を選択。
- `NETWORK`: `Polygon Mumbai`を選択。
- `NETWORK`: `Polygon Amoy`を選択。

それから、作成したAppの`VIEW DETAILS`をクリックします。

Expand All @@ -58,7 +58,7 @@ Metamaskが必要ですが、インストールについてはETH-dAPPなど別

### 💜 MetaMask と Hardhat に Polygon Network を追加する

MetaMaskウォレットにMatic MainnetとPolygon Mumbai-Testnetを追加してみましょう。
MetaMaskウォレットにMatic MainnetとPolygon Amoy-Testnetを追加してみましょう。

**1 \. Matic Mainnet を MetaMask に接続する**

Expand All @@ -76,11 +76,11 @@ Matic MainnetをMetaMaskに追加するには、次の手順に従ってくだ

![](/images/Polygon-ENS-Domain/section-1/1_5_6.png)

**2 \. Polygon Mumbai-Testnet を MetaMask に接続する**
**2 \. Polygon Amoy-Testnet を MetaMask に接続する**

Polygon Mumbai-TestnetをMetaMaskに追加するには、次の手順に従ってください。
Polygon Amoy-TestnetをMetaMaskに追加するには、次の手順に従ってください。

まず、[mumbai.polygonscan.com](https://mumbai.polygonscan.com/) に向かい、ページの一番下までスクロールして、`Add Mumbai Network`ボタンをクリックします。
まず、[amoy.polygonscan.com](https://amoy.polygonscan.com/) に向かい、ページの一番下までスクロールして、`Add Amoy Network`ボタンをクリックします。

`Matic Mainnet`を設定した時と同じ要領で`Polygon Testnet`をあなたのMetaMaskに設定してください。

Expand Down Expand Up @@ -173,7 +173,7 @@ require("@nomicfoundation/hardhat-toolbox");
module.exports = {
solidity: "0.8.17",
networks: {
mumbai: {
amoy: {
url: "YOUR_ALCHEMY_MUMBAI_URL",
accounts: ["YOUR_TEST_WALLET_PRIVATE_KEY"],
},
Expand Down Expand Up @@ -203,9 +203,9 @@ yarn contract deploy

通常、デプロイには20〜40秒かかります。 デプロイしているだけではありません。`deploy.js`ではNFTも作成しているので、これにも時間がかかります。 実際には、トランザクションが「マイニング」されてノードによって取得されるのを待つ必要があります。 その1つのコマンドですべてを実行できます。 問題なければ、次のような結果が表示されます。

Mumbaiもストップしていることがまれにありますのでその場合は時間を置いてから実施してください
Amoyもストップしていることがまれにありますのでその場合は時間を置いてから実施してください

こちらの[Mumbai Polygonscan](https://mumbai.polygonscan.com/)から正常に作動しているか確認してみると良いでしょう。
こちらの[Amoy Polygonscan](https://amoy.polygonscan.com/)から正常に作動しているか確認してみると良いでしょう。

```
Contract deployed to: 0x6C45313E2F7e4Fd85f56E66c559bfFc23E726c1d
Expand Down Expand Up @@ -233,7 +233,7 @@ RPCについては検索してみてください。

**Polygon にデプロイできました ✨**

先に進む前に、問題ないか確認しましょう。 これは先ほどの[Mumbai Polygonscan](https://mumbai.polygonscan.com/)を使用して行うことができます。
先に進む前に、問題ないか確認しましょう。 これは先ほどの[Amoy Polygonscan](https://amoy.polygonscan.com/)を使用して行うことができます。

ここで、ターミナルに出力されたコントラクトアドレスを貼り付けて、何が起こっているかを確認できます。

Expand All @@ -256,7 +256,7 @@ Polygonscanの使用に慣れると便利です。これは、問題が発生し

### 🙀 NFT が 表示されない場合

数分待ってもNFTがOpenSeaに表示されない場合は、[testnets.dev](http://testnets.dev)というサイトにアクセスしてください。 上部のテストネット選択でMatic Mumbaiを選択し、コントラクトアドレスを入力して、トークンIDを0に設定します。 これで実際のブロックチェーンであなたのドメインを見ることができます。
数分待ってもNFTがOpenSeaに表示されない場合は、[testnets.dev](http://testnets.dev)というサイトにアクセスしてください。 上部のテストネット選択でMatic Amoyを選択し、コントラクトアドレスを入力して、トークンIDを0に設定します。 これで実際のブロックチェーンであなたのドメインを見ることができます。

![](/images/Polygon-ENS-Domain/section-1/1_5_10.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,14 +243,14 @@ const mintDomain = async () => {
// トランザクションが問題なく実行されたか確認します。
if (receipt.status === 1) {
console.log(
"Domain minted! https://mumbai.polygonscan.com/tx/" + tx.hash
"Domain minted! https://amoy.polygonscan.com/tx/" + tx.hash
);

// domain,recordをセットします。
tx = await contract.setRecord(domain, record);
await tx.wait();

console.log("Record set! https://mumbai.polygonscan.com/tx/" + tx.hash);
console.log("Record set! https://amoy.polygonscan.com/tx/" + tx.hash);

setRecord("");
setDomain("");
Expand Down Expand Up @@ -301,13 +301,13 @@ const receipt = await tx.wait();
// トランザクションが完了したか確認します。
if (receipt.status === 1) {
console.log("Domain minted! https://mumbai.polygonscan.com/tx/" + tx.hash);
console.log("Domain minted! https://amoy.polygonscan.com/tx/" + tx.hash);
// domain,recordをセットします。
tx = await contract.setRecord(domain, record);
await tx.wait();
console.log("Record set! https://mumbai.polygonscan.com/tx/" + tx.hash);
console.log("Record set! https://amoy.polygonscan.com/tx/" + tx.hash);
setRecord("");
setDomain("");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,19 +94,19 @@ const App = () => {
ブラウザで確認してみましょう。
Mumbai上にいるときは次のようになります
Amoy上にいるときは次のようになります
![](/images/Polygon-ENS-Domain/section-4/4_1_1.png)
ネットワークをチェックしているので`mumbai`のテストネット上にいない場合は、ミントフォームを無効にする必要があります。 これを`renderInputForm`の先頭に追加します。
ネットワークをチェックしているので`amoy`のテストネット上にいない場合は、ミントフォームを無効にする必要があります。 これを`renderInputForm`の先頭に追加します。
```javascript
const renderInputForm = () =>{
// テストネットの Polygon Mumbai 上にいない場合の処理
if (network !== 'Polygon Mumbai Testnet') {
// テストネットの Polygon Amoy 上にいない場合の処理
if (network !== 'Polygon Amoy Testnet') {
return (
<div className="connect-wallet-container">
<p>Please connect to the Polygon Mumbai Testnet</p>
<p>Please connect to the Polygon Amoy Testnet</p>
</div>
);
}
Expand All @@ -128,7 +128,7 @@ const renderInputForm = () =>{
web3を使用開始したばかりのユーザーや、経験豊富なユーザーもどちらもです。
現在、私たちが行っているのは、Mumbaiに接続するように指示することだけです
現在、私たちが行っているのは、Amoyに接続するように指示することだけです
そのためのボタンを追加すれば、便利になりますね。
Expand All @@ -140,7 +140,7 @@ MetaMask APIを使用して、実際にネットワークを追加、切り替
const switchNetwork = async () => {
if (window.ethereum) {
try {
// Mumbai testnet に切り替えます。
// Amoy testnet に切り替えます。
await window.ethereum.request({
method: "wallet_switchEthereumChain",
params: [{ chainId: "0x13881" }], // utilsフォルダ内のnetworks.js を確認しましょう。0xは16進数です。
Expand All @@ -155,14 +155,14 @@ const switchNetwork = async () => {
params: [
{
chainId: "0x13881",
chainName: "Polygon Mumbai Testnet",
rpcUrls: ["https://rpc-mumbai.maticvigil.com/"],
chainName: "Polygon Amoy Testnet",
rpcUrls: ["https://rpc-amoy.maticvigil.com/"],
nativeCurrency: {
name: "Mumbai Matic",
name: "Amoy Matic",
symbol: "MATIC",
decimals: 18,
},
blockExplorerUrls: ["https://mumbai.polygonscan.com/"],
blockExplorerUrls: ["https://amoy.polygonscan.com/"],
},
],
});
Expand Down Expand Up @@ -202,11 +202,11 @@ await window.ethereum.request({
```javascript
const renderInputForm = () =>{
// Polygon Mumbai Testnet上にいない場合、switchボタンをレンダリングします。
if (network !== 'Polygon Mumbai Testnet') {
// Polygon Amoy Testnet上にいない場合、switchボタンをレンダリングします。
if (network !== 'Polygon Amoy Testnet') {
return (
<div className="connect-wallet-container">
<h2>Please switch to Polygon Mumbai Testnet</h2>
<h2>Please switch to Polygon Amoy Testnet</h2>
{/* 今ボタンで switchNetwork 関数を呼び出します。 */}
<button className='cta-button mint-button' onClick={switchNetwork}>Click here to switch</button>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const updateDomain = async () => {

let tx = await contract.setRecord(domain, record);
await tx.wait();
console.log("Record set https://mumbai.polygonscan.com/tx/" + tx.hash);
console.log("Record set https://amoy.polygonscan.com/tx/" + tx.hash);

fetchMints();
setRecord("");
Expand Down Expand Up @@ -51,10 +51,10 @@ const updateDomain = async () => {

// renderInputForm関数を変更します。
const renderInputForm = () =>{
if (network !== 'Polygon Mumbai Testnet') {
if (network !== 'Polygon Amoy Testnet') {
return (
<div className="connect-wallet-container">
<p>Please connect to Polygon Mumbai Testnet</p>
<p>Please connect to Polygon Amoy Testnet</p>
<button className='cta-button mint-button' onClick={switchNetwork}>Click here to switch</button>
</div>
);
Expand Down Expand Up @@ -152,7 +152,7 @@ const fetchMints = async () => {

// currentAccount, network が変わるたびに実行されます。
useEffect(() => {
if (network === "Polygon Mumbai Testnet") {
if (network === "Polygon Amoy Testnet") {
fetchMints();
}
}, [currentAccount, network]);
Expand Down Expand Up @@ -205,14 +205,14 @@ const mintDomain = async () => {
// トランザクションの成功の確認です。
if (receipt.status === 1) {
console.log(
"Domain minted! https://mumbai.polygonscan.com/tx/" + tx.hash
"Domain minted! https://amoy.polygonscan.com/tx/" + tx.hash
);

// domain の record をセットします。
tx = await contract.setRecord(domain, record);
await tx.wait();

console.log("Record set! https://mumbai.polygonscan.com/tx/" + tx.hash);
console.log("Record set! https://amoy.polygonscan.com/tx/" + tx.hash);

// fetchMints関数実行後2秒待ちます。
setTimeout(() => {
Expand Down Expand Up @@ -249,7 +249,7 @@ const renderMints = () => {
<div className="mint-row">
<a
className="link"
href={`https://testnets.opensea.io/assets/mumbai/${CONTRACT_ADDRESS}/${mint.id}`}
href={`https://testnets.opensea.io/assets/amoy/${CONTRACT_ADDRESS}/${mint.id}`}
target="_blank"
rel="noopener noreferrer"
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ require("dotenv").config();
module.exports = {
solidity: "0.8.17",
networks: {
mumbai: {
amoy: {
url: process.env.STAGING_ALCHEMY_KEY,
accounts: [process.env.PRIVATE_KEY],
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const { API_URL, PRIVATE_KEY, ETHERSCAN_API, POLYGON_URL } = process.env;
module.exports = {
solidity: "0.8.17",
networks: {
mumbai: {
amoy: {
url: POLYGON_URL,
accounts: [PRIVATE_KEY],
},
Expand Down Expand Up @@ -188,7 +188,7 @@ Polygonでは、`10¹⁸ Wei`が`1 MATIC`です。

**異なるネットワークにコントラクトを移行する場合は、常に価格の修正を正しく行うようにしましょう。**

このレッスンでは、Polygon Mumbai-Testnetを使用するので、NFTの価格を`0.01 MATIC`にします。
このレッスンでは、Polygon Amoy-Testnetを使用するので、NFTの価格を`0.01 MATIC`にします。

そこで、NFTの価格を元通りにリセットすることにします。

Expand All @@ -204,7 +204,7 @@ uint public constant PRICE = 0.01 ether;

### 🦊 MetaMask と Hardhat に Polygon Network を追加する

MetaMaskウォレットにMatic MainnetとPolygon Mumbai-Testnetを追加してみましょう。
MetaMaskウォレットにMatic MainnetとPolygon Amoy-Testnetを追加してみましょう。

**1 \. Matic Mainnet を MetaMask に接続する**

Expand All @@ -222,11 +222,11 @@ Matic MainnetをMetaMaskに追加するには、次の手順に従ってくだ

![](/images/Polygon-Generative-NFT/section-3/3_2_3.png)

**2 \. Polygon Mumbai-Testnet を MetaMask に接続する**
**2 \. Polygon Amoy-Testnet を MetaMask に接続する**

Polygon Mumbai-TestnetをMetaMaskに追加するには、次の手順に従ってください。
Polygon Amoy-TestnetをMetaMaskに追加するには、次の手順に従ってください。

まず、[mumbai.polygonscan.com](https://mumbai.polygonscan.com/) に向かい、ページの一番下までスクロールして、`Add Mumbai Network`ボタンをクリックします。
まず、[amoy.polygonscan.com](https://amoy.polygonscan.com/) に向かい、ページの一番下までスクロールして、`Add Amoy Network`ボタンをクリックします。

`Matic Mainnet`を設定した時と同じ要領で`Polygon Testnet`をあなたのMetaMaskに設定してください。

Expand Down Expand Up @@ -320,15 +320,15 @@ main()
"scripts": {
"run:script": "npx hardhat run scripts/run.js",
"deploy:sepolia": "npx hardhat run scripts/deploy.js --network sepolia",
"deploy:mumbai": "npx hardhat run scripts/deploy.js --network mumbai",
"deploy:amoy": "npx hardhat run scripts/deploy.js --network amoy",
"test": "npx hardhat test"
},
```

ターミナル上で下記を実行してみましょう。

```
yarn contract deploy:mumbai
yarn contract deploy:amoy
```

下記のような結果がターミナルに出力されていることを確認してください。
Expand All @@ -338,7 +338,7 @@ Contract deployed to: 0xF899DeB963208560a7c667FA78376ecaFF684b8E
Owner has tokens: []
```

次に、[mumbai.polygonscan.com](https://mumbai.polygonscan.com/) に向かい、コントラクトアドレス(`Contract deployed to`に続く`0x..`)を検索して、コントラクトがデプロイされたことを確認しましょう。
次に、[amoy.polygonscan.com](https://amoy.polygonscan.com/) に向かい、コントラクトアドレス(`Contract deployed to`に続く`0x..`)を検索して、コントラクトがデプロイされたことを確認しましょう。

![](/images/Polygon-Generative-NFT/section-3/3_2_8.png)

Expand Down Expand Up @@ -374,7 +374,7 @@ PolygonscanはEtherscanを搭載しているため、`ETHERSCAN_API`という変
```
npx hardhat clean
npx hardhat verify --network mumbai DEPLOYED_CONTRACT_ADDRESS "BASE_TOKEN_URI"
npx hardhat verify --network amoy DEPLOYED_CONTRACT_ADDRESS "BASE_TOKEN_URI"
```

- `DEPLOYED_CONTRACT_ADDRESS`はあなたのコントラクトアドレスです。
Expand All @@ -384,7 +384,7 @@ npx hardhat verify --network mumbai DEPLOYED_CONTRACT_ADDRESS "BASE_TOKEN_URI"
私のコマンドは下記のようになります。

```
npx hardhat verify --network mumbai 0xF899DeB963208560a7c667FA78376ecaFF684b8E "ipfs://QmSvw119ALMN9SkP89Xj37jvqJik8jZrSjU5c1vgBhkhz8/"
npx hardhat verify --network amoy 0xF899DeB963208560a7c667FA78376ecaFF684b8E "ipfs://QmSvw119ALMN9SkP89Xj37jvqJik8jZrSjU5c1vgBhkhz8/"
```

下記のような結果がターミナルに出力されていることを確認してください。
Expand All @@ -398,11 +398,11 @@ contracts/NFTCollectible.sol:NFTCollectible at 0xF899DeB963208560a7c667FA78376ec
for verification on the block explorer. Waiting for verification result...
Successfully verified contract NFTCollectible on Etherscan.
https://mumbai.polygonscan.com/address/0xF899DeB963208560a7c667FA78376ecaFF684b8E#code
https://amoy.polygonscan.com/address/0xF899DeB963208560a7c667FA78376ecaFF684b8E#code
```

出力された`https://mumbai.polygonscan.com/address/0x...`のリンクをブラウザで開いてコントラクトの中身がオンラインで読み込めるか検証してみましょう。
出力された`https://amoy.polygonscan.com/address/0x...`のリンクをブラウザで開いてコントラクトの中身がオンラインで読み込めるか検証してみましょう。

無事コントラクトの中身がPolygonscanに表示されていたでしょうか?

Expand Down
Loading

0 comments on commit 1e2cf4d

Please sign in to comment.