├── .github └── CODEOWNERS ├── .gitignore ├── LICENSE ├── README.md ├── lesson-2 ├── HelloWorld.sol ├── HelloWorldFactory.sol └── README.md ├── lesson-3 ├── FundMe.sol ├── FundMe_flattened.sol ├── FundToken.sol ├── FundTokenERC20.sol ├── FundTokenERC20_flattened.sol └── README.md ├── lesson-4 ├── .gitignore ├── README.md ├── contracts │ └── FundMe.sol ├── hardhat.config.js ├── package-lock.json ├── package.json ├── scripts │ └── deployFundMe.js └── tasks │ ├── deploy-fundme.js │ ├── index.js │ └── interact-fundme.js ├── lesson-5 ├── README.md ├── contracts │ ├── FundMe.sol │ └── mocks │ │ └── MockV3Aggregator.sol ├── deploy │ ├── 00-deploy-mocks.js │ └── 01-deploy-fund-me.js ├── hardhat.config.js ├── helper-hardhat-config.js ├── package-lock.json ├── package.json ├── scripts │ └── deploy.js ├── tasks │ ├── deploy-fundme.js │ ├── index.js │ └── interact-fundme.js ├── test │ ├── staging │ │ └── FundMe.staging.test.js │ └── unit │ │ └── FundMe.test.js ├── utils │ └── verify.js └── yarn.lock └── lesson-6 ├── README.md ├── contracts ├── CCIPSimulator.sol ├── MyNFT.sol ├── NFTPoolBurnAndMint.sol ├── NFTPoolLockAndRelease.sol └── WrappedNFT.sol ├── deploy ├── 00_deploy_local_ccip.js ├── 01_deploy_nft.js ├── 02_deploy_lnu_pool.js ├── 03_deploy_wrapped_nft.js └── 04_deploy_mnb_pool.js ├── hardhat.config.js ├── helper-hardhat-config.js ├── package-lock.json ├── package.json ├── scripts ├── deploy.js └── deployAndInteract.js ├── task ├── burn-and-cross.js ├── check-nft.js ├── check-wrapped-nft.js ├── index.js ├── lock-and-cross.js └── mint-nft.js ├── test ├── staging │ └── FundMe.staging.test.js └── unit │ └── cross-chain-nft.test.js └── utils └── verify.js /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @QingyangKong @smartcontractkit/devrel 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/README.md -------------------------------------------------------------------------------- /lesson-2/HelloWorld.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-2/HelloWorld.sol -------------------------------------------------------------------------------- /lesson-2/HelloWorldFactory.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-2/HelloWorldFactory.sol -------------------------------------------------------------------------------- /lesson-2/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-2/README.md -------------------------------------------------------------------------------- /lesson-3/FundMe.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-3/FundMe.sol -------------------------------------------------------------------------------- /lesson-3/FundMe_flattened.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-3/FundMe_flattened.sol -------------------------------------------------------------------------------- /lesson-3/FundToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-3/FundToken.sol -------------------------------------------------------------------------------- /lesson-3/FundTokenERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-3/FundTokenERC20.sol -------------------------------------------------------------------------------- /lesson-3/FundTokenERC20_flattened.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-3/FundTokenERC20_flattened.sol -------------------------------------------------------------------------------- /lesson-3/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-3/README.md -------------------------------------------------------------------------------- /lesson-4/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-4/.gitignore -------------------------------------------------------------------------------- /lesson-4/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-4/README.md -------------------------------------------------------------------------------- /lesson-4/contracts/FundMe.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-4/contracts/FundMe.sol -------------------------------------------------------------------------------- /lesson-4/hardhat.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-4/hardhat.config.js -------------------------------------------------------------------------------- /lesson-4/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-4/package-lock.json -------------------------------------------------------------------------------- /lesson-4/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-4/package.json -------------------------------------------------------------------------------- /lesson-4/scripts/deployFundMe.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-4/scripts/deployFundMe.js -------------------------------------------------------------------------------- /lesson-4/tasks/deploy-fundme.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-4/tasks/deploy-fundme.js -------------------------------------------------------------------------------- /lesson-4/tasks/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-4/tasks/index.js -------------------------------------------------------------------------------- /lesson-4/tasks/interact-fundme.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-4/tasks/interact-fundme.js -------------------------------------------------------------------------------- /lesson-5/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/README.md -------------------------------------------------------------------------------- /lesson-5/contracts/FundMe.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/contracts/FundMe.sol -------------------------------------------------------------------------------- /lesson-5/contracts/mocks/MockV3Aggregator.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/contracts/mocks/MockV3Aggregator.sol -------------------------------------------------------------------------------- /lesson-5/deploy/00-deploy-mocks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/deploy/00-deploy-mocks.js -------------------------------------------------------------------------------- /lesson-5/deploy/01-deploy-fund-me.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/deploy/01-deploy-fund-me.js -------------------------------------------------------------------------------- /lesson-5/hardhat.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/hardhat.config.js -------------------------------------------------------------------------------- /lesson-5/helper-hardhat-config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/helper-hardhat-config.js -------------------------------------------------------------------------------- /lesson-5/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/package-lock.json -------------------------------------------------------------------------------- /lesson-5/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/package.json -------------------------------------------------------------------------------- /lesson-5/scripts/deploy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/scripts/deploy.js -------------------------------------------------------------------------------- /lesson-5/tasks/deploy-fundme.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/tasks/deploy-fundme.js -------------------------------------------------------------------------------- /lesson-5/tasks/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/tasks/index.js -------------------------------------------------------------------------------- /lesson-5/tasks/interact-fundme.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/tasks/interact-fundme.js -------------------------------------------------------------------------------- /lesson-5/test/staging/FundMe.staging.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/test/staging/FundMe.staging.test.js -------------------------------------------------------------------------------- /lesson-5/test/unit/FundMe.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/test/unit/FundMe.test.js -------------------------------------------------------------------------------- /lesson-5/utils/verify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/utils/verify.js -------------------------------------------------------------------------------- /lesson-5/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-5/yarn.lock -------------------------------------------------------------------------------- /lesson-6/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/README.md -------------------------------------------------------------------------------- /lesson-6/contracts/CCIPSimulator.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/contracts/CCIPSimulator.sol -------------------------------------------------------------------------------- /lesson-6/contracts/MyNFT.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/contracts/MyNFT.sol -------------------------------------------------------------------------------- /lesson-6/contracts/NFTPoolBurnAndMint.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/contracts/NFTPoolBurnAndMint.sol -------------------------------------------------------------------------------- /lesson-6/contracts/NFTPoolLockAndRelease.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/contracts/NFTPoolLockAndRelease.sol -------------------------------------------------------------------------------- /lesson-6/contracts/WrappedNFT.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/contracts/WrappedNFT.sol -------------------------------------------------------------------------------- /lesson-6/deploy/00_deploy_local_ccip.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/deploy/00_deploy_local_ccip.js -------------------------------------------------------------------------------- /lesson-6/deploy/01_deploy_nft.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/deploy/01_deploy_nft.js -------------------------------------------------------------------------------- /lesson-6/deploy/02_deploy_lnu_pool.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/deploy/02_deploy_lnu_pool.js -------------------------------------------------------------------------------- /lesson-6/deploy/03_deploy_wrapped_nft.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/deploy/03_deploy_wrapped_nft.js -------------------------------------------------------------------------------- /lesson-6/deploy/04_deploy_mnb_pool.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/deploy/04_deploy_mnb_pool.js -------------------------------------------------------------------------------- /lesson-6/hardhat.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/hardhat.config.js -------------------------------------------------------------------------------- /lesson-6/helper-hardhat-config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/helper-hardhat-config.js -------------------------------------------------------------------------------- /lesson-6/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/package-lock.json -------------------------------------------------------------------------------- /lesson-6/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/package.json -------------------------------------------------------------------------------- /lesson-6/scripts/deploy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/scripts/deploy.js -------------------------------------------------------------------------------- /lesson-6/scripts/deployAndInteract.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/scripts/deployAndInteract.js -------------------------------------------------------------------------------- /lesson-6/task/burn-and-cross.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/task/burn-and-cross.js -------------------------------------------------------------------------------- /lesson-6/task/check-nft.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/task/check-nft.js -------------------------------------------------------------------------------- /lesson-6/task/check-wrapped-nft.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/task/check-wrapped-nft.js -------------------------------------------------------------------------------- /lesson-6/task/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/task/index.js -------------------------------------------------------------------------------- /lesson-6/task/lock-and-cross.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/task/lock-and-cross.js -------------------------------------------------------------------------------- /lesson-6/task/mint-nft.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/task/mint-nft.js -------------------------------------------------------------------------------- /lesson-6/test/staging/FundMe.staging.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/test/staging/FundMe.staging.test.js -------------------------------------------------------------------------------- /lesson-6/test/unit/cross-chain-nft.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/test/unit/cross-chain-nft.test.js -------------------------------------------------------------------------------- /lesson-6/utils/verify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartcontractkit/Web3_tutorial_Chinese/HEAD/lesson-6/utils/verify.js --------------------------------------------------------------------------------