Download Package from https://www.trufflesuite.com/ganache
npx create-react-app {YOUR_PROJECT_NAME} --template polygon-starter-kit
cd {YOUR_PROJECT_NAME}
npm run start
(npx ๆฅ่ช npm 5.2+ ๆๆด้ซ็ๆฌ, ๆฅ็ npm ๆง็ๆฌ็่ฏดๆ)
็ถๅๆๅผ http://localhost:3000/ ๆฅ็ไฝ ็ๅบ็จใ
ๅฝไฝ ๅๅค้จ็ฝฒๅฐ็ไบง็ฏๅขๆถ๏ผไฝฟ็จ npm run build ๅๅปบไธไธชๅ็ผฉๅ็ bundle๏ผๅ ๏ผใ
ไฝ ๆ ้ ๅฎ่ฃ ๆ้ ็ฝฎ Webpack ๆ Babel ็ญๅทฅๅ ทใ ๅฎไปฌๆฏ้ขๅ ้ ็ฝฎๅฅฝๅนถไธ้่็๏ผๅ ๆญคไฝ ๅฏไปฅไธๆณจไบไปฃ็ ใ
ๅช้ๅๅปบไธไธช้กน็ฎ๏ผๅฐฑๅฏไปฅไบใ
ไฝ ้่ฆๅจๆฌๅฐๅผๅ่ฎก็ฎๆบไธไฝฟ็จ Node >= 6๏ผไฝๅจๆๅกๅจไธไธ้่ฆ๏ผใ ไฝ ๅฏไปฅไฝฟ็จ nvm (macOS/Linux) ๆ nvm-windows ่ฝปๆพๅฐๅจไธๅ้กน็ฎไน้ดๅๆข Node ็ๆฌใ
ๅๅปบๆฐๅบ็จ็จๅบ
npx create-react-app {YOUR_PROJECT_NAME} --template polygon-starter-kit
ๅไผๅจๅฝๅ็ฎๅฝไธญๅๅปบไธไธชๅไธบ {YOUR_PROJECT_NAME} ็็ฎๅฝใๅจ่ฏฅ็ฎๅฝไธญ๏ผๅฎๅฐ็ๆๅๅง้กน็ฎ็ปๆๅนถๅฎ่ฃ
ไพ่ต้กน๏ผ
{YOUR_PROJECT_NAME}
โโโ README.md
โโโ node_modules
โโโ package.json
โโโ migrations
โโโ .gitignore
โโโ public
โ โโโ favicon.ico
โ โโโ index.html
โ โโโ manifest.json
โโโ src
โโโ App.css
โโโ App.js
โโโ App.test.js
โโโ assets
โย ย โโโ icon-devx.svg
โย ย โโโ logo512.png
โย ย โโโ polygon-logo.svg
โโโ components
โย ย โโโ Contents
โย ย โย ย โโโ index.js
โย ย โโโ Footer
โย ย โย ย โโโ footer.css
โย ย โย ย โโโ index.js
โย ย โโโ Headers
โย ย โย ย โโโ index.js
โย ย โโโ Wallet
โย ย โโโ ConnectWallet.js
โย ย โโโ WalletInfo.js
โโโ contracts
โย ย โโโ Migrations.sol
โโโ hooks
โย ย โโโ index.js
โโโ index.css
โโโ index.js
โโโ lib
โย ย โโโ connectors
โย ย โโโ index.js
โโโ reportWebVitals.js
โโโ setupTests.js
โโโ truffle-config.js
const mnemonic = process.env.MNEMONIC;
const HDWalletProvider = require("@truffle/hdwallet-provider");
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 7545,
network_id: "*" // Match any network id
},
polygon: {
provider: new HDWalletProvider(mnemonic, process.env.POLYGON_RPC),
network_id: 137,
confirmations: 2,
timeoutBlocks: 200,
skipDryRun: true
},
mumbai: {
provider: new HDWalletProvider(mnemonic, process.env.POLYGON_MUMBAI_RPC),
network_id: 8001,
confirmations: 2,
timeoutBlocks: 200,
skipDryRun: true
}
ย ๅจ้กน็ฎๆ น็ฎๅฝไธๅๅปบ .env ๆไปถ
vim .env
MNEMONIC=" {YOUR_MNEMONIC OR YOUR_PRIVATE_KEY} "
POLYGON_RPC = " {PUBLIC_POLYGON_RPC} OR https://rpc-mainnet.matic.network"
POLYGON_MUMBAI_RPC = " {PUBLIC_POLYGON_MUMBAI_RPC} or https://rpc-mumbai.maticvigil.com/"
ๆดๅค็ PUBLIC_RPC ๅ่๏ผDevelopment Docs
{YOUR_PROJECT_NAME}
โโโ README.md
โโโ node_modules
โโโ package.json
โโโ migrations
โโโ .gitignore
โโโ public
โ โโโ favicon.ico
โ โโโ index.html
โ โโโ manifest.json
โโโ src
โโโ App.css
โโโ App.js
โโโ App.test.js
โโโ assets
โย ย โโโ icon-devx.svg
โย ย โโโ logo512.png
โย ย โโโ polygon-logo.svg
โโโ components
โย ย โโโ Contents
โย ย โย ย โโโ index.js
โย ย โโโ Footer
โย ย โย ย โโโ footer.css
โย ย โย ย โโโ index.js
โย ย โโโ Headers
โย ย โย ย โโโ index.js
โย ย โโโ Wallet
โย ย โโโ ConnectWallet.js
โย ย โโโ WalletInfo.js
โโโ contracts
โย ย โโโ Migrations.sol
โโโ hooks
โย ย โโโ index.js
โโโ index.css
โโโ index.js
โโโ lib
โย ย โโโ connectors
โย ย โโโ index.js
โโโ reportWebVitals.js
โโโ setupTests.js
โโโ truffle-config.js
ๅ ถไธญ
migrations็จๆฅๅญๆพ่ฟ็งปใ้จ็ฝฒๅ็บฆ็ JS ่ๆฌsrcๅฎขๆท็ซฏ DAPP ็ฎๅฝsrc/contracts็จๆฅๅญๆพ็ผๅ็ๆบ่ฝๅ็บฆ(smart contract)๏ผๅๆถ truffle ็ contract ็ฎๅฝๆๅsrc/abis็จๆฅๅญๆพ truffle ็ผ่ฏๅ็ abis ๆไปถhooks/index.jsๅๅงๅ@web3-reactไธญ็Provider็่ฏทๆฑ้ฉๅญ