ผู้เขียนต้นฉบับ: Patrick Collins @Chainlink
แปลต้นฉบับ: หัว
คู่มือเครื่องมือที่ครอบคลุมสำหรับนักพัฒนา smart contract, blockchain, Web3, Ethereum และ Solidity รวมถึงคำแนะนำสั้น ๆ เกี่ยวกับ Solana, Terra และเครื่องมือตามสัญญาอัจฉริยะของ Rust อื่น ๆ
ปีที่แล้วก็เรียนมาบ้างเฟรมเวิร์กยอดนิยมสำหรับนักพัฒนาสัญญาอัจฉริยะปีนี้เราจะขยายให้มากขึ้น
เราจะดูที่เครื่องมือ 10 หมวด แล้วดูที่เครื่องมือในแต่ละหมวดที่ดีที่สุดสำหรับนักพัฒนา smart contract/blockchain/solidity/vyper/rust/web3 (เรามีคำศัพท์สำหรับ blockchain developer มากเกินไปในทุกวันนี้) .
ฉันใช้เครื่องมือทุกอย่างในรายการนี้ในระดับหนึ่ง ดังนั้นคุณจึงวางใจได้ว่าฉันไม่ได้คัดลอกและวางรายการเครื่องมือเพียงอย่างเดียว เริ่มต้นด้วยการแนะนำเล็กน้อยสำหรับผู้ที่ไม่รู้จักฉัน ฉันอยู่ในโลกของสัญญาอัจฉริยะและทำงานร่วมกับบุคคลที่ดีที่สุดในอุตสาหกรรมในฐานะChainlinkผู้สนับสนุนผู้พัฒนาโครงการบริษัทโครงสร้างพื้นฐาน Blockchain ของฉันเองCEO และผู้ที่ชื่นชอบ web3 สิ่งนี้จะให้สิ่งที่นักพัฒนาที่ดีที่สุดในโลกใช้ อย่างไรก็ตาม รายการนี้ไม่ใช่รายการทั้งหมด ขออภัยหากฉันพลาดเครื่องมือของคุณ! เป็นเพียงสิ่งที่ฉันคิดว่านักพัฒนาทุกคนจำเป็นต้องทราบ เริ่มกันเลย!
บทความนี้ประกอบด้วยสิ่งต่อไปนี้:
คู่มือสัญญาอัจฉริยะ
สิ่งจำเป็นสำหรับสัญญาอัจฉริยะ
กระเป๋าสตางค์
กระเป๋าสตางค์
Block Explorer (เบราว์เซอร์)
บริการโหนดเลเยอร์ 1
เครื่องมือส่วนหน้า
ช่วยเหลือและสนับสนุน
การวิเคราะห์ความปลอดภัย
การตรวจสอบและบำรุงรักษา
นอกจากนี้ เราได้สร้างวิดีโอธีมชื่อระดับแรก
1. ภาษาสัญญาอัจฉริยะ
ชื่อเรื่องรอง
Solidity
หากคุณยังใหม่กับสัญญาอัจฉริยะ คุณควรเริ่มต้นด้วยsolidityเริ่ม. หากคุณเคยทำสัญญาที่ชาญฉลาด คุณน่าจะรู้เกี่ยวกับความแข็งแกร่งอยู่แล้ว ปฏิเสธไม่ได้ว่า Solidity เป็นภาษาการพัฒนาสัญญาอัจฉริยะที่สำคัญและใช้กันมากที่สุด Solidity เหมาะสำหรับแพลตฟอร์มสัญญาอัจฉริยะส่วนใหญ่ เช่น Ethereum, Avalanche, Moonbeam, Polygon, BSC เป็นต้น นี่เป็นเพราะบล็อกเชนส่วนใหญ่ได้นำมาใช้เครื่องเสมือน Ethereum (EVM)และความแน่วแน่เกิดขึ้นเพื่อมัน ในการจัดอันดับปัจจุบันโครงการ Defi 10 อันดับแรกในจำนวนนี้ เก้าคนใช้ Solidity เป็นภาษาโปรแกรมหลัก
ฉันคาดการณ์ว่า 90% ของมูลค่าของสัญญาอัจฉริยะจะถูกนำไปใช้อย่างมั่นคงในอนาคต ภาษา Solidity ได้รับการดูแลอย่างต่อเนื่องและมีการสนับสนุนมากมาย
คุณยังสามารถใส่yul/assemblyชื่อเรื่องรอง
Vyper
Vyperเป็นอีกภาษาที่เข้ากันได้กับ EVM ซึ่งส่วนใหญ่ใช้โดยโครงการ Defi 10 อันดับแรกหนึ่งในการใช้งาน (บางโครงการใช้เป็นตัวช่วย) เช่นCurve.fiชื่อเรื่องรอง
Rust
Rustเป็นการเกิดใหม่บนบล็อกและไม่สามารถใช้ได้กับบล็อกเชนของ EVM เช่น Ethereum, Polygon, Binance Smart Chain เป็นต้น อย่างไรก็ตามสามารถติดตั้ง Rust ได้Solana、Terraรอห่วงโซ่หรือในPolkadotสร้างแอปพลิเคชัน blockchain Rust เป็นภาษาสำหรับใช้งานทั่วไปที่มีประสิทธิภาพดี แม้จะใช้นอกสัญญาอัจฉริยะ ดังนั้นเชนสาธารณะจำนวนมากจึงเลือกเป็นภาษาสำหรับการพัฒนา ตรรกะคือ อืม นักพัฒนาบางคนมี Rust อยู่แล้ว ดังนั้นเรามาทำให้ Rust พร้อมใช้งานสำหรับนักพัฒนาในที่ต่างๆ ให้มากที่สุดเท่าที่จะเป็นไปได้
ชื่อเรื่องรอง
สรุปภาษาสัญญาอัจฉริยะ
ต้องรู้: ความแข็งแกร่ง
คนรักงูหลาม: ไวเปอร์
Terra, Solana,ชื่อระดับแรก
2. เครื่องมือที่จำเป็นสำหรับสัญญาอัจฉริยะ
ชื่อเรื่องรอง
Chainlink
Chainlink คือออราเคิลบล็อกเชนมันเป็นสัญญาที่ชาญฉลาดที่จะเป็นไฮบริดสมาร์ทคอนแทรคเครื่องมือซึ่งรวมถึงส่วนประกอบนอกห่วงโซ่และเชื่อมต่อกับโลกแห่งความเป็นจริง สัญญาอัจฉริยะนั้นยอดเยี่ยม แต่พวกเขามีปัญหาใหญ่ที่ไม่ได้เชื่อมต่อกับโลกภายนอก แต่อย่างใด เพื่อให้สัญญาอัจฉริยะมีการกระจายอำนาจโดยใช้ส่วนประกอบนอกเชน เช่น ข้อมูลหรือการคำนวณนอกเชน ข้อมูลและการคำนวณนอกเชนต้องได้รับการกระจายอำนาจ ซึ่งเป็นสิ่งที่เครือข่ายและเครื่องมือของ Chainlink ทำ แพลตฟอร์มสัญญาอัจฉริยะชั้นนำส่วนใหญ่เป็นสัญญาอัจฉริยะแบบไฮบริดและใช้ออราเคิลเป็นส่วนสำคัญของโครงสร้างพื้นฐาน แค่ดูDeFipulse10 โครงการแรก จะได้รู้ว่าอันไหนคละบ้าง
คำอธิบายของ Asterik*: Uniswap มีผลิตภัณฑ์ oracle Yearn และ Instadapp เป็นตัวรวบรวมที่ทำงานร่วมกับโปรโตคอลที่ใช้ oracles/เป็นไฮบริด Sushiswap ใช้ออราเคิลสำหรับการซื้อขายที่มีเลเวอเรจ จะเห็นได้ว่าอย่างน้อย 50% ของโครงการใช้ oracles เป็นส่วนสำคัญของโครงสร้างพื้นฐาน และอีก 30% (รวม 80%) ใช้ oracles ไม่ทางใดก็ทางหนึ่ง รับได้จากออราเคิลการกำหนดราคาสินทรัพย์ข้อมูล,หมายเลขสุ่ม、การดำเนินการอัตโนมัติที่ขับเคลื่อนด้วยเหตุการณ์ฯลฯ
Chainlink เป็นคุณสมบัติที่จำเป็นสำหรับนักพัฒนาสัญญาอัจฉริยะที่เข้ามาในพื้นที่ไม่ว่าจะเป็นภาษาใดหรือบล็อกเชนก็ตาม。
นอกจากนี้ ในปี 2020 และ 2021 เราได้เห็นหลายๆการโจมตีสินเชื่อแฟลช, การโจมตีด้วยการจัดการของออราเคิล ฯลฯการแฮ็กทำให้สูญเสียเกือบพันล้านดอลลาร์ในสนาม Defi ที่น่าสะเทือนใจที่สุดคือ กว่าครึ่งสามารถป้องกันได้ผ่านการใช้ออราเคิลที่เชื่อถือได้ เช่น Chainlink โปรดอย่าอนุญาตให้คุณหรือเพื่อนของคุณใช้ออราเคิลแบบรวมศูนย์หรือไม่ปลอดภัยในปี 2565
ชื่อเรื่องรอง
Openzeppelin
Openzeppelinรวมตำแหน่งเป็น ห้องสมุดมาตรฐานความมั่นคง เมื่อใดก็ตามที่นักพัฒนา (รวมถึงตัวฉันเอง) กำลังมองหาวิธีที่รวดเร็วปรับใช้ NFT/ERC721、ERC20、สัญญาอัพเกรดได้、อพท./ธรรมาภิบาลหรือโครงการใดๆ ที่นักพัฒนาในสาขานี้ต้องการทำ เก้าในสิบ คุณจะต้องการค้นหาแพ็คเกจ Openzeppelin
ชื่อเรื่องรอง
สรุปสาระสำคัญของสัญญาอัจฉริยะ
ต้องรู้: Chainlink และ Openzeppelin
คุณสามารถ (และน่าจะ) ใช้ทั้งสองสิ่งนี้ จากที่ฉันรู้เกี่ยวกับเทคโนโลยีเหล่านี้ ไม่สามารถเน้นมากเกินไป
3. ปรับใช้และทดสอบกรอบงาน
ปีที่แล้วบทความวิจารณ์ของฉันคือสำหรับหมวดนี้โดยเฉพาะดังนั้นในปีนี้ ฉันต้องบอกคุณเกี่ยวกับความแตกต่างในสิ่งที่ฉันคิดว่าเป็นกรอบเหล่านี้ในปัจจุบัน กรอบสัญญาอัจฉริยะเป็นส่วนสำคัญในงานของนักพัฒนา ช่วยให้คุณทดสอบและปรับใช้สัญญาอัจฉริยะได้อย่างมีประสิทธิภาพ การเรียนรู้อย่างน้อยหนึ่งอย่างเป็นขั้นตอนสำคัญสู่ความสำเร็จ
เพื่อความเข้าใจที่ง่ายขึ้น ลองดูแผนภูมิที่ฉันรวบรวมจาก defpulse ซึ่งแสดงกรอบการพัฒนาที่ใช้โดยโครงการ DeFi ชั้นนำบางโครงการ
โครงการ Defi 10 อันดับแรกของ Defipulse และเฟรมเวิร์กการพัฒนาสัญญาอัจฉริยะที่พวกเขาใช้ นอกจากนี้ ผมยังดูสถานการณ์ปัจจุบันของเฟรมเวิร์กการพัฒนาเหล่านี้ในลักษณะนี้:
ผู้เล่นดาวเด่น:
ผู้เล่นยอดเยี่ยม:
Remix, Truffle, Apeworx, Foundry
ทดแทน:
Waffle, sbt-ethereum, web3j, Embark, Saddle
ไม่ใช่ EVM:
ชื่อเรื่องรอง
Etherlime, Openzeppelin SDK, Cobra, Parasol
ผู้เล่นดาว
Hardhat
ตอนนี้กรอบหมวกแข็งเป็นกรอบการพัฒนาสัญญาอัจฉริยะที่สำคัญที่สุด Hardhat เป็นเฟรมเวิร์กการพัฒนาที่ใช้จาวาสคริปต์และความแข็งแกร่ง ซึ่งสามารถปรับปรุงความเร็วการพัฒนาแอปพลิเคชันของคุณได้อย่างรวดเร็ว คุณสามารถดูhardhat-starter-kitเรียนรู้เกี่ยวกับกรณีการใช้งานของโครงการหมวกนิรภัย
ด้วยความเร็วการทดสอบของ Hardhat, การรองรับ TypeScript, การนำไปใช้อย่างแพร่หลาย และทีมงานที่มุ่งเน้นประสบการณ์ของนักพัฒนาที่น่าทึ่ง จึงไม่น่าแปลกใจที่ความนิยมเพิ่มขึ้นอย่างรวดเร็ว ในช่วงเวลานี้ของปีที่แล้ว ฉันให้ความสำคัญสูงสุดกับเฟรมเวิร์กนี้ และยังคงเป็นอยู่ มันถูกใช้ในแบ็กเอนด์ethers.jsมาพร้อมกับบล็อกเชนแบบเนทีฟสำหรับการทดสอบ และทีมกำลังสร้างอยู่ในขณะนี้แพลตฟอร์มการพัฒนาขั้นสูงใหม่ซึ่งรวมเข้ากับหมวกนิรภัย ฉันตื่นเต้นมากกับความพยายามนี้ในปี 2565
ถ้าคุณรู้จักฉัน เนื่องจากจาวาสคริปต์ทุกประเภทความแปลกประหลาดฉันไม่ใช่แฟนตัวยง หลายครั้งฉันชอบใช้ Hardhat กับ typescript Hardhat เป็นเฟรมเวิร์กที่ใช้บ่อยเป็นอันดับสองของฉันอย่างง่ายดาย
ฉันขอแนะนำเฟรมเวิร์กนี้ถ้าคุณชอบจาวาสคริปต์ หรือถ้าคุณต้องการใช้เฟรมเวิร์กที่ได้รับความนิยมและรองรับมากที่สุด
Brownie
ถ้าคุณเคยอ่านเนื้อหาอื่นๆ ของฉัน คุณจะรู้ว่าฉันตกหลุมรักbrownieกรอบ
Brownie เป็นเฟรมเวิร์กที่ใช้ Python แบบโอเพ่นซอร์สที่สร้างขึ้นweb3.pyและCurve.fi、Badgerและใช้โปรโตคอลอื่นๆ รองรับทั้ง solidity และ vyper แต่จุดเด่นหลักของเฟรมเวิร์กนี้ขึ้นอยู่กับ python Brownie ถือกำเนิดขึ้นเพราะวิศวกร Python หลายคนดูถูกการทำงานใน Javascript และต้องการเฟรมเวิร์กสำหรับ Python นอกจากนี้ ฟิลด์ fintech ดั้งเดิมส่วนใหญ่ใช้ python แทน javascript ดังนั้นด้วยการสร้าง Brownie การย้ายจากฟิลด์ fintech ไปยัง Defi จึงง่ายกว่า
บราวนี่เป็นกรอบที่ฉันเลือกเมื่อสร้างโครงการใหม่ และฉันเป็นผู้สนับสนุนนักพัฒนาบราวนี่ที่ประกาศตัวเองว่าเป็นผู้พัฒนาบราวนี่ คุณสามารถดูbrownie-starter-kit(เรียกอีกอย่างว่า มิกซ์ ในโลกของบราวนี่) เริ่มพัฒนาด้วยเฟรมเวิร์ก อย่าลืมตรวจสอบBrownie Mixesรายการชุดเริ่มต้นอื่นๆ ใน repo
เลขที่
DappTools
แม้ว่าDapptoolsเลขที่โลโก้ที่งดงามแต่เป็นแอปพลิเคชันที่สร้างขึ้นใน Haskell แต่ไม่ต้องกังวล คุณไม่จำเป็นต้องรู้ Haskell เพื่อใช้งาน
Dapptools ส่วนใหญ่ประกอบด้วยMakerDAOteam (ทีมที่อยู่เบื้องหลัง DAI) ได้รับแรงบันดาลใจจากUnixปรัชญา: A program only makes one thing, and do it well. (เขียนโปรแกรมที่ทำสิ่งเดียว และทำได้ดี) Dapptools เป็นเครื่องมือที่เน้นไปที่บรรทัดคำสั่ง ที่นี่ คุณสามารถใช้บรรทัดคำสั่งที่คุณคุ้นเคยอยู่แล้ว /shell เครื่องมือเช่น bash หรือ zsh แทน python, javascript หรือภาษาโปรแกรมระดับสูงอื่น ๆ เพื่อช่วยให้คุณพัฒนา สิ่งนี้ช่วยลดเทคนิคหนึ่งที่คุณต้องคุ้นเคยได้อย่างมีประสิทธิภาพและบังคับให้คุณเขียนเชลล์สคริปต์ได้ดีขึ้น! มาพร้อมกับชุดเครื่องมือต่างๆ เช่น dapp, seth, ethsign และ hevm ซึ่งแต่ละชุดได้รับการออกแบบมาโดยเฉพาะเพื่อเป็นส่วนสำคัญของงานประจำวันของนักพัฒนาสัญญาอัจฉริยะ
ฉันเพิ่งเริ่มทำงานกับ Dapptools และฉันชอบวิธีคิดเบื้องหลัง ฉันเขียน กชุดเริ่มต้นสำหรับ Dapptoolsแสดงวิธีการใช้เครื่องมือ หากต้องการใช้ Dapptools คุณต้องสามารถใช้makefilesและเชลล์สคริปต์เพื่อ ผลิต รหัสของคุณ Dapptools เชื่อว่าการทดสอบควรเขียนอย่างเข้มงวด และfuzzingควรจะบิวท์อิน
ประสบการณ์ของฉันกับมันค่อนข้างเงอะงะ แต่ฉันคิดว่าส่วนใหญ่มาจากทักษะการเขียนสคริปต์ทุบตีธรรมดาของฉัน ฉันคิดว่าทุกคนควรจะเขียนเชลล์สคริปต์ได้ดีกว่านี้ และฉันชอบที่มันบังคับให้ฉันเรียนรู้
หากคุณไม่ต้องการเรียนรู้ภาษาอื่น เช่น javascript หรือ python คุณต้องการใช้เครื่องมือให้น้อยที่สุดเท่าที่จะเป็นไปได้ในการตั้งค่าของคุณ คุณชอบ MakerDAO หรือ@transmissions11ชื่อเรื่องรอง
ผู้เล่นที่ยอดเยี่ยม
Remix
บทวิจารณ์สั้น ๆ ของฉันเกี่ยวกับ Remix: ทุกคนควรรู้วิธีใช้งานRemixแต่ไม่จำเป็นสำหรับสภาพแวดล้อมการผลิต
รีมิกซ์ไม่ใช่เฟรมเวิร์กต่อ se แต่เหมือน aIDE. Remix เป็นเครื่องมือที่ฉันคิดว่าทุกคนควรเริ่มต้นเพื่อให้ทุกคนสามารถมีความเข้าใจร่วมกันเมื่อพยายามแบ่งปันความคิด ไม่ใช่ทุกคนที่จะรู้จักการต่อ python, javascript หรือ bash scripts ดังนั้นการใช้เครื่องมืออย่าง Remix จึงสมบูรณ์แบบเนื่องจากเป็นภาพ
เมื่อมีการปรับใช้สัญญา Remix จะแสดงปุ่มเพื่อโต้ตอบกับสัญญา ง่ายต่อการเลือกเวอร์ชันความแข็งแกร่ง คอมไพล์ เรียกใช้การทดสอบความแข็งแกร่ง ฯลฯ นอกจากนี้ยังมีตัวเลือกการเขียนสคริปต์จาวาสคริปต์หากคุณต้องการใช้จาวาสคริปต์ Remix สามารถขยายได้ ดังนั้นหากคุณต้องการเพิ่มฟังก์ชัน คุณสามารถขยายได้และแม้กระทั่งสร้างสภาพแวดล้อมการพัฒนา Remix บนโลคัลโฮสต์เพื่อเรียกใช้โค้ดจากที่เก็บในเครื่องของคุณ
Remix เป็นเครื่องมือที่นำทุกคนมารวมกัน และฉันดีใจที่เรามีทีมงานที่ทำงานเกี่ยวกับเครื่องมือที่น่าทึ่งเช่นนี้เพื่อช่วยเหลือทุกคน อย่างไรก็ตาม Remix ไม่ใช่สิ่งที่ฉันจะแนะนำสำหรับผู้ใช้ขั้นสูง เนื่องจากคุณจะต้องมีเครื่องมือที่ปรับแต่งอย่างละเอียดมากขึ้นในสภาพแวดล้อมการพัฒนาในพื้นที่ของคุณ แทนที่จะพึ่งพา IDE ของเว็บอยู่เสมอ ฉันไม่แนะนำการตั้งค่าขั้นสูงสำหรับ Remix อย่างไรก็ตาม หากคุณสนุกกับการทำงานกับมัน ก็เป็นไปได้!
ฉันขอแนะนำให้ทุกคนทำความคุ้นเคยกับ Remix (หากคุณรู้จักความแข็งแกร่ง คุณสามารถเริ่มต้นได้โดยตรง)
Truffle
Truffleเป็นหนึ่งในกรอบการทำงานแรก ๆ ที่เกิดขึ้นแต่เดิมConsensysส่วนหนึ่งของ Consensys ซึ่งแยกออกจาก Consensys แล้วรวมกลับเป็น Consensys เป็นเฟรมเวิร์กที่ใช้จาวาสคริปต์ซึ่งรวมถึงGanache(แม้แต่กรอบอย่างบราวนี่ก็ใช้)Drizzleและล่าสุดตอนนี้truffle teamsและเครื่องมืออื่นๆ Truffle มีอิทธิพลทางประวัติศาสตร์มากที่สุดในบรรดา framework ทั้งหมด คุณสามารถเห็นผลกระทบที่มีต่ออุตสาหกรรม กรอบงานต่างๆ มากมายได้นำแนวทางปฏิบัติของ Truffle มาใช้ เราควรรู้สึกโชคดีที่ทีมนี้เข้ามาและสร้างจุดเริ่มต้นที่ยอดเยี่ยมสำหรับกรอบการทำงาน ถ้าอยากลองก็ลองดูที่ชุดเริ่มต้นทรัฟเฟิล。
เอกสารเอกสาร,เปิดตัวGanache รุ่นที่เจ็ดฉันได้พูดคุยกับทีมของพวกเขาและพวกเขาบอกฉันว่าพวกเขามีแผนใหญ่และฉันก็ตื่นเต้น
ย้อนกลับไปในปี 2019 ทุกคนเคยได้ยินหรือเคยใช้เห็ดทรัฟเฟิล แต่หลังจากนั้น สิ่งต่างๆ ก็เปลี่ยนไป Hardhat ได้รับความนิยมเพิ่มขึ้นเรื่อย ๆ เพื่อสร้างความแข็งแกร่งให้กับตัวเองในฐานะเฟรมเวิร์กจาวาสคริปต์โดยพฤตินัย ฉันมักพบข้อบกพร่องแปลกๆ เมื่อใช้ Truffle การสนับสนุน TypeScript นั้นค่อนข้างละเอียดอ่อนและการทดสอบทำงานได้เร็วกว่าHardhatช้าลงมาก ตอนนี้มันยากที่จะโต้แย้งเรื่อง Truffle เมื่อ Hardhat ดีกว่าในทุกสิ่ง
ในช่วงต้นปี 2564 Iกล่าวถึงฉันกังวลเกี่ยวกับ Truffle และจากสิ่งที่ฉันรู้เกี่ยวกับเฟรมเวิร์ก ดูเหมือนว่าปี 2021 จะเป็นปีที่หมวกนิรภัยเข้ามาแทนที่ อย่างไรก็ตาม ฉันคิดว่าอนาคตของเห็ดทรัฟเฟิลยังคงสดใส พวกเขามีทีมที่ยอดเยี่ยมมาก พวกเขารู้แล้วว่า Truffle จะอาศัยอยู่ที่ใด (ร่วมกับ Consensys ในตอนนี้) และฉันคาดหวังสิ่งที่ยิ่งใหญ่จากพวกเขาในปี 2022
Ganache เป็นเฟรมเวิร์ก หากคุณเริ่มติดต่อเฟรมเวิร์กการพัฒนาสัญญาอัจฉริยะจาก Truffle และชอบไวยากรณ์ของ Truffle คุณควรใช้เฟรมเวิร์กนี้ ในกรณีส่วนใหญ่ ฉันแนะนำหมวกนิรภัยมากกว่าทรัฟเฟิล อย่างไรก็ตาม ฉันคิดว่า Ganache ยังคงเป็นเครื่องมือที่ทรงพลัง และแนะนำให้ทุกคนที่ต้องการทำงานกับการสร้างเครือข่ายทดสอบในเครื่อง ลองดูที่ Ganache มันมีองค์ประกอบ UI ที่ดีที่สามารถใช้เพื่อ ดู ธุรกรรมได้ง่ายขึ้น เริ่มต้นง่าย และสามารถติดตั้งได้ทั่วโลก
ApeWorX
ApeWorXเป็นผู้มาใหม่ของ Python ที่แตกแขนงออกมาจากชุมชนบราวนี่และสร้างเวอร์ชันที่ดีกว่าของบรรพบุรุษของมันbrownieเฟรมเวิร์กที่เน้นการเงินแบบแยกส่วนมากขึ้น
Apeworx มีการตั้งค่าและไวยากรณ์เหมือนกับบราวนี่ แต่มีการปรับปรุงที่น่าสนใจเมื่อนำไปใช้
ฉันใช้ Apeworx เพียงเล็กน้อย มันให้ความรู้สึกเหมือนบราวนี่ และฉันชอบการเพิ่มปลั๊กอิน ยังไม่ชัดเจนว่านี่จะเป็นภาคต่อของ Brownie (คล้ายกับ Hardhat ที่เข้าครอบงำจิตใจของ Truffle) หรือว่าทั้งสองจะอยู่เคียงข้างกัน อย่างไรก็ตามฉันรอคอยที่จะได้เห็นDoggieและทีมของเขาจะสร้างบางอย่างในปี 2022 และแน่นอนว่ามีเฟรมเวิร์กที่น่าจับตามอง หากคุณต้องการเฟรมเวิร์กแบบบราวนี่ที่สามารถเพิ่มปลั๊กอินได้ ก็ลองดูสิ
Foundry
Foundryเขียนด้วยภาษาสนิมdapptools. นี่คือบทสรุปที่ตรงไปตรงมาที่สุดของเครื่องมือ
ฉันใช้ Foundry น้อยกว่า Dapptools เล็กน้อย และรู้สึกว่านี่อาจเป็นตัวตายตัวแทนของ Dapptools แต่ฉันไม่แน่ใจ นอกจากนี้ยังเป็นแบบบรรทัดคำสั่ง ต้องมีโครงสร้างไฟล์ที่คล้ายกัน และคำสั่งเกือบทั้งหมดจาก Dapptools ก็คล้ายกับของ FoundryParadigmของทีมGeorgiosและเพื่อนๆ ได้คิดค้น Dapptools ยอดนิยมขึ้นใหม่ แม้แต่ในตัวพวกเขาเองโพสต์บทความส่วยให้ Dapptools
คำสั่งและการตั้งค่าโครงสร้างไฟล์หลายอย่างเหมือนกับ Dapptools เฟรมเวิร์กนี้รวดเร็ว ทรงพลัง เน้นการสร้างการทดสอบใน Solidity และมีฟัซซิ่งในตัวและเครื่องมือทรงพลังอื่นๆ
ชื่อเรื่องรอง
ทดแทน
ฉันจะอธิบายให้เร็วขึ้นเล็กน้อยในส่วนนี้ เนื่องจากอาจเป็นเฟรมเวิร์กที่คุณต้องการใช้ แต่ฉันไม่คุ้นเคยกับมันมากนัก หรือยังไม่ได้ลองใช้ด้วยตัวเอง
Waffle
Waffleใช่
Saddle
Saddleใช่Compoundการประดิษฐ์ใหม่ของทรัฟเฟิล ถ้าคุณชอบ Compound ลองดูสิ!
sbt-ethereum
ในช่วงไม่กี่ปีที่ผ่านมา ฉันไม่ได้ใช้จาวามากนัก นี่เป็นการทดลองของฉันsbt-ethereumปรากฏขึ้นเมื่อ Sbt-ethereum ทำตลาดตัวเองเป็น:
แพลตฟอร์มเชิงโต้ตอบแบบข้อความที่สร้างขึ้นสำหรับ ผู้ชื่นชอบงานอดิเรก — ผู้ที่ไม่ใช่โปรแกรมเมอร์ * — *sbt-ethereum.io
นี่เป็นอีกกรอบหนึ่งที่ฉันได้รู้เกี่ยวกับปีที่แล้ว โชคไม่ดีที่ทักษะสกาลาของฉันไม่ดีนัก อย่างไรก็ตาม หากคุณต้องการใช้บรรทัดคำสั่ง นี่เป็นอีกทางเลือกหนึ่ง
Web3j/Epirus
นี่เป็นอีกเฟรมเวิร์กหนึ่งที่ฉันได้เรียนรู้เกี่ยวกับปีที่แล้ว เมื่อดูที่เว็บไซต์ของพวกเขา ดูเหมือนว่าผลิตภัณฑ์หลักของพวกเขาได้ย้ายจากเฟรมเวิร์กไปเป็นตัวสำรวจบล็อคขององค์กร อย่างไรก็ตามพวกเขายังคงมีweb3jแพ็คเกจซึ่งเป็นเฟรมเวิร์กที่ใช้จาวา หากคุณเป็นนักพัฒนาจาวา ลองดูสิ่งนี้และดูว่ารู้สึกอย่างไร
Embark
Embarkฉันให้บทวิจารณ์ที่เป็นตัวเอกในปีที่แล้ว ฉันสามารถทดสอบและปรับใช้สัญญาอัจฉริยะจากเฟรมเวิร์กและใช้เครื่องมือ UI บางอย่างได้ อย่างไรก็ตาม ยังไม่ได้รับมาเป็นเวลากว่าหนึ่งปีแล้วคอมไพล์มุ่งมั่นชื่อเรื่องรอง
ไม่ใช่ EVM
Anchor
สำหรับตอนนี้ฉันคิดว่าAnchorปัจจุบันเฟรมเวิร์กนี้เป็นเฟรมเวิร์กที่ไม่ใช่ EVM ที่ใหญ่ที่สุดบน Solana หากคุณพัฒนาบน Solana ฉันขอแนะนำให้คุณลองAnchorเนื่องจากรู้สึกว่าเป็นทางออกที่ดีที่สุดในตอนนี้
TerraSDK
Terraและ กTerra.jsและ กpython SDKชื่อระดับแรก
4. กระเป๋าสตางค์
ชื่อเรื่องรอง
MetaMask
Metamaskเป็นเครื่องมือที่แทบทุกคนในวงการรู้จักหรือควรรู้ เป็นเรื่องง่าย เหมาะอย่างยิ่งสำหรับการทดสอบในเบราว์เซอร์ และเป็นสิ่งที่นักพัฒนาส่วนหน้าทุกคนต้องทำ เกือบทุกคนควรมี Metamask หรือกระเป๋าเงินเบราว์เซอร์ที่คล้ายกับ Metamask (เช่นเดียวกับใน SolanaPhantom)。
กระเป๋าสตางค์ร้อนกระเป๋าสตางค์ร้อนชื่อเรื่องรอง
Gnosis Safe
Gnosis safeรู้จักกันในชื่อกระเป๋าเงินหลายลายเซ็น หมายความว่าต้องใช้ลายเซ็นจำนวน X เพื่อส่งธุรกรรม ด้วยวิธีนี้ ไม่สำคัญว่ากระเป๋าเงินจะถูกบุกรุกหรือไม่ เนื่องจากผู้โจมตีจะต้องประนีประนอมผู้ถือกุญแจอย่างน้อยครึ่งหนึ่ง
และSnapshot。
Ledger / Trezor
LedgerและTrezorรู้จักกันในชื่อ cold wallets หรือกระเป๋าเงินที่ยุ่งยากในการแปลง ความยุ่งยากนี้เกิดขึ้นโดยเจตนา มันทำให้คุณเคลื่อนย้ายเงินได้ยากขึ้น และยากขึ้นสำหรับผู้โจมตี
ชื่อระดับแรก
5. นักสำรวจบล็อกเชน
ชื่อเรื่องรอง
Etherscan
อา,EtherscanและPolygon、ETH 2และBinance Smart Chainชื่อเรื่องรอง
Etherchain
อย่างไรก็ตาม ฉันดีใจที่พวกเขามีการแข่งขัน ดังนั้นพวกเขาจึงต้องตั้งหน้าตั้งตาสู้!Etherchainเป็นตัวสำรวจบล็อกน้ำหนักเบาที่เผยแพร่ไฟล์ETH 2 ชื่อเรื่องรอง
Ethplorer
นักสำรวจบล็อค ETH อีกคนEthplorerอาจเป็นเบราว์เซอร์อื่นที่คุณอาจต้องการทราบ
ชื่อระดับแรก
6. บริการโหนดเลเยอร์ 1
ชื่อเรื่องรอง
Alchemy
Alchemyชื่อเรื่องรอง
Infura
Infuraชื่อเรื่องรอง
Moralis
ฉันไม่รู้ด้วยซ้ำMoralisชื่อเรื่องรอง
QuickNode
หากข้อใดข้อหนึ่งข้างต้นไม่มีบล็อกเชนที่ฉันต้องการQuickNodeชื่อระดับแรก
7. เครื่องมือส่วนหน้า
และ
Web3js/Ethersjs
Web3jsและEthersjsชื่อเรื่องรอง
Moralis
MoralisหรือEtherscanหรือOpensea; คุณอาจต้องการรายการ NFT ที่ที่อยู่นั้นเป็นเจ้าของ มีหลายสิ่งที่คุณอาจต้องการทำ และ Moralis มีการสนับสนุนในตัวสำหรับสิ่งเหล่านี้
มีทุกสิ่งที่คุณต้องการ รวมถึงชุดเครื่องมือโอเพ่นซอร์สและเฟรมเวิร์กบริการบนคลาวด์
ฉันขอแนะนำให้ทุกคนสร้างเว็บไซต์ web3 ในปี 2022 เพื่อทราบเกี่ยวกับ Moralis พวกเขามีมากมายแม่แบบชื่อเรื่องรอง
UseDapp
Usedappชื่อเรื่องรอง
Drizzle
Drizzleจากตระกูล Truffle, Metamask, Infura และ Consensys ทำได้ดีมาก มันสร้างตัวห่อหุ้มอย่างง่าย ๆ ไว้รอบ ๆ จาวาสคริปต์ของคุณเพื่อทำงานกับสัญญาของคุณ และยังมีการรองรับ React ในตัวอีกด้วย! โปรดมองชื่อเรื่องรอง。
เครื่องมือเพิ่มเติม
และcreate-eth-appและscaffold-ethชื่อระดับแรก
8. รับความช่วยเหลือและการสนับสนุน
นักพัฒนาทุกคนควรรู้วิธีขอความช่วยเหลือเมื่อมีปัญหาแผนงานพื้นฐาน。
1. Google ข้อผิดพลาดที่แน่นอน
2. ค้นหาใน StackOverflow หรือ Stack Exchange ETH (หรือ Stack Exchange)
3. แจ้งปัญหาเกี่ยวกับ Github ของโครงการ
4. ถามคำถามในฟอรัม
5. ถามคำถามใน Discord
เมื่อถามคำถามในสถานที่เหล่านี้ คำถามของคุณควรเป็น:
1. ค้นหาได้: เพื่อให้คนอื่นๆ ที่มีปัญหาเดียวกันสามารถค้นหาปัญหาของคุณได้
2. การย่อขนาดและความสามารถในการทำซ้ำ: ยิ่งคุณใช้เฉพาะเจาะจงมากเท่าไหร่ คุณก็ยิ่งมีโอกาสได้รับคำตอบน้อยลงเท่านั้น
คุณควรพิจารณาการถามคำถามในฟอรัมหรือสแต็กโอเวอร์โฟลว์เป็น เอกสารที่มีชีวิต ยิ่งคำถามของคุณมีรูปแบบที่ดีเท่าใด คำตอบก็จะยิ่งง่ายขึ้นเท่านั้น ไม่มีคำถามที่ไม่ถูกต้อง มีเพียงคำถามที่จัดรูปแบบไม่ดีเท่านั้น ทำให้คำถามของคุณ กคำถามที่ดีชื่อเรื่องรอง
StackOverflow & Stack Exchange ETH
หลักการง่ายๆ ของคุณมีดังนี้ หากฉันมีคำถามและคำตอบไม่ปรากฏในหน้าแรกของผลการค้นหาของ Google ฉันควรโพสต์คำถามนั้นใน Stack Overflow
เมื่อทำสิ่งนี้ คุณจะได้รับคำตอบที่คุณต้องการในขณะที่ช่วยเหลือชุมชนทั้งหมด! บางครั้งอาจเป็นไปไม่ได้เสมอไปที่จะได้รับคำตอบจากเว็บไซต์เหล่านี้ เพราะบางครั้งคำถามของคุณอาจยากเกินไป ไม่มีใครเคยทำมาก่อน หรือคนที่รู้คำตอบยังไม่เคยเห็น ในบางครั้ง ฉันจะใส่ลิงก์ไปยังคำถามของฉันในกระดานสนทนาเพื่อดึงดูดความสนใจให้มากขึ้น แต่หลักทั่วไปคือ Stackoverflow หรือ Stack Exchange ETH ควรเป็นหนึ่งในสถานที่แรกๆ ที่ฉันมองหาเมื่อมีปัญหา
ชื่อเรื่องรอง
Discord
ในปี 2022 ฉันหวังว่าเราจะย้ายจากDiscordชื่อเรื่องรอง
ฟอรัม
ฟอรัมนั้นยอดเยี่ยมเพราะมีการจัดทำดัชนีและจัดอันดับเหมือน StackOverflow ตัวอย่างที่ดีคือฟอรัม Openzeppelinชื่อระดับแรก
9. เครื่องมือวิเคราะห์ความปลอดภัย
เราทุกคนทราบดีว่าการตรวจสอบเป็นสิ่งสำคัญเมื่อเผยแพร่โค้ดไปยังบล็อกเชน เนื่องจากทุกคนสามารถดูได้ และเมื่อเผยแพร่แล้ว ก็สามารถใช้ประโยชน์ได้! ดังนั้นจึงเป็นเรื่องสำคัญมากที่จะต้องมีเครื่องมือบางอย่างที่สามารถช่วยให้เรามั่นใจได้ว่ามีข้อผิดพลาดน้อยลงในโค้ดของเรา มีเครื่องมือหลายอย่างเกิดขึ้นในพื้นที่นี้เพื่อทำให้สัญญาอัจฉริยะของเราปลอดภัยยิ่งขึ้น
และcharinganeและMatt Solomon.
ชื่อเรื่องรอง
Slither
Slitherกำลังจะกลายเป็นการวิเคราะห์แบบคงที่หนึ่งในเครื่องมือที่ต้องการ เลื้อยตามTrail of Bitsชื่อเรื่องรอง
MythX
MythXชื่อเรื่องรอง
Mythril
Mythrilชื่อเรื่องรอง
Manticore
Manticoreเป็นอีกหนึ่งเครื่องมือ Trail of Bits แต่แทนที่จะทำการวิเคราะห์แบบคงที่การดำเนินการเชิงสัญลักษณ์ชื่อเรื่องรอง
Echidna
ถัดไป Trail of Bits (คุณรู้ไหมว่าทำไมพวกเขาถึงเป็นหนึ่งในรายการโปรดของฉัน) กลับมาพร้อมกับEchidna. นี่เป็นสัญญา EVMfuzzerชื่อเรื่องรอง
Securify
Securifyชื่อระดับแรก
10. การตรวจสอบและบำรุงรักษา
ส่วนสุดท้ายของเราไม่มีรูปภาพเพราะสำหรับการตรวจสอบ ฉันมักจะใช้สคริปต์ของตัวเองจำนวนมาก อย่างไรก็ตามฉันคิดว่าและและTenderlyเป็นเครื่องมือที่คุณควรคุ้นเคย 100% เป็นทั้งเครื่องมือที่ช่วยให้คุณตรวจสอบรหัสการผลิตของคุณและตรวจสอบให้แน่ใจว่าปลอดภัย!
สรุป
สรุป
นี่เป็นโพสต์ที่ใหญ่ที่สุดของฉันและมีรายการเครื่องมือมากมาย ฉันรู้ว่ามีมากมาย แต่ยิ่งคุณสร้างในพื้นที่นี้มากเท่าไหร่ คุณก็ยิ่งตระหนักว่าเครื่องมือเหล่านี้มีความสำคัญต่อการสร้างแอปพลิเคชันอย่างรวดเร็วเพียงใด
ปี 2022 จะเป็นปีที่บ้าคลั่ง และฉันหวังว่าฉันจะให้แนวคิดบางอย่างแก่คุณเกี่ยวกับสิ่งที่ควรลองในปีนี้เพื่อสร้างแอปพลิเคชัน web3 ที่น่าทึ่ง ไม่เหมือนใคร และสร้างแรงบันดาลใจ
แจ้งให้เราทราบว่าคุณคิดว่าฉันพลาดเครื่องมือใด โปรดแจ้งให้เราทราบในส่วนความคิดเห็น! ฉันขอให้คุณมีความสุขปีใหม่! มาทำให้มันใหญ่กันเถอะ!
หากคุณต้องการเริ่มต้นเส้นทางบล็อกเชนในปีนี้ ลองดูวิธีการมาเป็นวิศวกรบล็อกเชนและสิ่งนี้ได้รายการทรัพยากรที่ยอดเยี่ยม 10 รายการ。