Cover photo

มา Deploy contract เก็บ Base testnet NFT รางวัลจาก Base กัน

เค้ามีหลักสูตรให้เรียน ส่วนเพื่อนๆลอกการบ้านผมละกัน ไวดี

บทความนี้ outdated แล้ว

อ่านบทความล่าสุดที่

https://web3.gadgeteer.in.th/learning-deploy-contract-base-camp-nft-full

deploy contract ทำ ทำไหม

โพสนี้เริ่มจาก Base มีหลักสูตรให้เรียนและเคลม NFT ทุกๆบท เมื่อผมเรียนจบก็เห็นว่ามันลอกการบ้านง่ายนะ เลยคิดว่ามาแนะนำเพื่อนๆดีกว่า

ง่ายกว่าที่คิด
ไม่ต้องติดตั้งแอปลงเครื่อง
ใช้เวลาไม่มาก(?)

deploy contract บน chain อื่นๆ เช่น Scroll, Linea, zkSync, polygon zkEVM และ EVM อื่นๆได้ทั้งหมด เทสเน็ตเรา deploy ได้รัวๆ ส่วน mainnet ใช้เงินจริงนะเอ้อ

การ deploy contract เป็นการสร้างกิจกรรมบน blockchain ซึ่งปกติมีแต่ dev ที่ทำ user ไม่ค่อยทำ ถ้า เชนไหน reward dev ก็น่าจะส่งผลกับ airdrop ที่มากขึ้น ดังนั้นผมคิดว่าทำไว้ไม่เสียหาย โดยเฉพาะเทสเน็ตอย่าง Scroll testnet, Linea testnet ไม่ควรพลาด

เนี่ยเป็น dev มันก็จะมีอะไรๆ แบบนี้

เตรียมการกันก่อน

  1. แอด chain ต่างๆได้ที่ https: chainlist.org
    เข้าไปแล้ว connect wallet แอดเชน testnet ให้หมด ทั้ง Base, Linea, polygon testnet

  2. เตรียม เหรียญเทส ETH ขุดเอาได้ไว https: sepolia-faucet.pk910.de

  3. บริดเหรียญเทสไปเชนที่ต้องการ https: rinkeby.orbiter.finance
    *เสริม กรณีบริด mainnet https: www.orbiter.finance

พร้อมแล้วก็ลุยต่อกันเลย


เริ่มdeploy contract และ เคลม NFT กันได้เลย

เราจะเขียน Contract และ Deploy ด้วย Remix

https: remix.ethereum.org < เพื่อความปลอดภัยเช็ค URL ให้ถูกต้องทุกครั้ง

  1. เมื่อเข้าไป ให้กด tab - file explorer บนสุด เราจะเห็นว่ามีไฟล์อยู่แล้ว ลบให้หมด เหลือแค่ folder contract

  2. จากนั้นคลิกขวา folder > new file > ตั้งชื่อไฟล์ใหม่ BasicMath.sol ก็ได้

จากนั้นดูด้านขวา ก็อบโค้ดการบ้านนี้วาง (ตอนวางจะมีเตือน เราว่าระวังอย่าใส่โค้ดหลอกมั่วๆทางเน็ต ไม่ต้องตกใจ)

การก็อบโค้ดทุกครั้งมีความเสี่ยง เช่นถ้าเราก็อบ contract rug rug มา ก็จะไม่ดี


ไม่ควรเชื่อเว็บไซต์ทั่วไป

โค้ดการบ้านข้อ 1 contract ที่ช่วยเราบวกลบเลข👇

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

contract BasicMath {
    uint constant MAX_UINT = type(uint).max;

    function adder(uint _a, uint _b) public pure returns (uint, bool) {
        if(_a > MAX_UINT - _b) {
            return (0, true); // Overflow would occur, return error
        }
        return (_a + _b, false); // No overflow
    }

    function subtractor(uint _a, uint _b) public pure returns (uint, bool) {
        if(_b > _a) {
            return (0, true); // Underflow would occur, return error
        }
        return (_a - _b, false); // No underflow
    }
}

จากนั้นไป tab - Solidity compiler
เลือก version ให้ตรงกับในโค้ด แล้วกดปุ่ม compile

ดูให้เวอร์ชั่นตรงกันทุกครั้ง

Compile เรียบร้อย ต่อไปเรา deploy กันเลย

  1. กด tab - deploy and run

  2. เลือก injected - wallet จะมีต่อ metamask
    ตั้ง metamask เป็น Base Goerli network ให้ถูกต้อง
    สังเกตมีเลขระบุ network 84531 = base goerli network

  3. กดปุ่ม deploy และ sign ให้เรียบร้อย

  4. ด้านล่างสุด เราจะเห็น contract ที่เพิ่ง deploy มาได้
    copy address เอาไว้สำหรับเคลม NFT

เท่านี้เพื่อนๆก็ deploy contract บน Base Goerli เรียบร้อยกันแล้วนะครับ

เคลม NFT กัน

  1. ไปที่ https: docs.base.org base-camp docs deployment-to-testnet deployment-to-testnet-exercise

รับ NFT ไปสวยๆ

เรียบร้อย จบไปแล้วสำหรับการบ้าน 1
เก่งมากครับทุกคนนนน 🧡

เพื่อนๆทำเป็นแล้ว contract การบ้าน ต่อๆไปก็น่าจะประมาณนี้แหละ ครับ

ปล. ไหนๆก็ทำแล้ว เชียร์ deploy บน testnet อื่นๆเช่น Scroll, Linea ไปด้วยเลยแม้จะไม่มี NFT เป็นรางวัล

กดเปลี่ยน network แล้ว deploy รัวๆ
Scroll Alpha testnet (check network id 534353)
Linea testnet (check network id 59140)
Taiko

การ Deploy บน mainnet ต่างๆก็น่าสนใจเช่นกัน (ต้องระวังเรื่อง gas)

Polygon zkEVM 1101
zkSync
Arb Nova 42170

และอื่นๆ บน metamask ใช้วิธีนี้ได้ทั้งหมด
โดย contract นี้มีขนาดเล็ก ใช้ gas น้อย ปลอดภัย(ทำได้แค่บวกลบเลข)


Verify contract

ต่อจาก deploy เราสามารถ verify contract ได้นะ (ไม่จำเป็น)

การ verify EVM contract ที่ deploy ไป

ไปที่ block explorer - etherscan/ basescan

คลิก verify contract

จากนั้นกรอกข้อมูลให้เรียบร้อย เลข contract address และ version solidity

ดู version ตรงนี้
license ตามที่ผมเคยสอน ส่วนใหญ่จะเป็น MIT

ใส่โค้ดที่เคยใช้เข้าไป แล้ว sign

แค่นี้การ verify ก็เรียบร้อย


การบ้าน 2-10

การบ้าน 1 ไปเรียบร้อย กว่าจะจบคอร์สจะได้ NFT เพิ่มอีกอย่างน้อย 9ชิ้น

ตอนนี้เพื่อนๆก็ทำเป็นแล้ว ต่อๆไป จะเป็นการก็อบโค้ดและทำซ้ำอย่างเดียวครับ :)

หากจะลุยต่อ อยากให้ลอง collect โพสด้วยปุ่มด้านล่าง 0.001 matic + gas

จากนั้นลุย https: web3.gadgeteer.in.th base-camp-nft

Loading...
highlight
Collect this post to permanently own it.
nanobro.eth logo
Subscribe to nanobro.eth and never miss a post.
#tools#base#l2#linea#nft#scroll