صفحه آخرین به روزرسانی: نوامبر ۱۲، ۲۰۱۹

منابع توسعه‌دهندگان

شروع کنیم

اگر می‌خواهید تازه با روند توسعه اتریوم آشنا شوید، جای درستی مراجعه کرده‌اید. این راهنما‌هایی که توسط جامعه اتریوم نوشته شده است، به معرفی اصول پایه‌ای مجموعه اتریوم پرداخته و مفاهیم هسته‌ای که احتمالا متفاوت با توسعه اپ‌های دیگری‌ست که با آنها آشنایی دارید، به شما ارائه می‌دهد.

آیا به توضیحات پایه‌ای بیشتری نیاز دارید؟ پس اینجا را ببینید آموختن.

زبان‌های قرارداد هوشمند

هر برنامه‌ای که بر روی ماشین مجازی اتریوم (EVM) اجرا شود عموما یک "قرارداد هوشمند" محسوب می‌شود. محبوب‌ترین زبان‌هایی که برای نوشتن قرارداد‌های هوشمند بر روی اتریوم استفاده می‌شوند Solidity و Vyper هستند، اگرچه زبان‌های در حال توسعه دیگری نیز وجود دارند .

سالیدیتی (Solidity) محبوب‌ترین زبان روی اتریوم، الهام گرفته شده از ++C، پایتون و جاوا اسکریپت.

وایپر (Vyper) زبانی متمرکز بر امنیت برای اتریوم، بر پایه پایتون.

آیا به دنبال انتخاب‌های دیگری هم هستید؟

منابع ویژه زبان

ما در حال اختصاص صفحاتی به زبان‌های ویژه هستیم تا توسعه‌دهندگان بتوانند با زبان برنامه‌نویسی ترجیحی خودشان در مورد اتریوم آموزش ببینند.

ابزار‌های برنامه‌نویسی

اتریوم ابزار‌های فراوانی دارد که به توسعه‌دهندگان کمک می‌کند برنامه‌های کاربردی خودشان را بسازند، تست کنند، و گسترش دهند. در زیر محبوب‌ترین ابزار‌ها که با آنها بتوانید کار خود را شروع کنید آورده شده است. اگر می‌خواهید عمیق‌تر شوید، این را بررسی کنید :

ترافل (Truffle) یک محیط توسعه، چارچوب کاری تست، ساخت کانال ارتباطی، و سایر ابزار‌ها.

IPFS و Whisper آغازی بر یک محیط توسعه، چارچوب کاری تست، و سایر ابزار‌های مجتمع با اتریوم

وافل (Waffle) یک چارچوب کاری برای توسعه و تست قرارداد هوشمند پیشرفته (بر پایه ethers.js).

اترلایم (Etherlime) چارچوب کاری بر پایه Ethers.js برای توسعه dapp (سالیدیتی و وایپر)، گسترش، رفع مشکلات، تست و سایر موارد.

ابزار‌های دیگر

بیدلر (Buidler) یک اجرا‌کننده یا task runner برای توسعه‌دهندگان قرارداد هوشمند اتریوم

اُپن‌زپلین (OpenZeppelin SKD) جعبه‌ابزار کامل قرارداد هوشمند: مجموعه‌ای از ابزار‌ها که برای توسعه، کامپایل، ارتقا، گسترش و تعامل با قرارداد‌های هوشمند به کمک شما می‌آید.

گراف (The Graph) پروتکلی برای فهرست‌بندی داده‌های IPFS و اتریوم و بررسی آنها با استفاده از GraphQL.

تندرلی (Tenderly) پلتفرمی برای نظارت آسان بر قرارداد‌های هوشمند شما، همراه با ردیابی خطا‌ها، اعلام خطر‌ها، ارزیابی‌های کارایی، و تحلیل جزئیات قرارداد.

ابزار کاری پایتون (Python Tooling) مجموعه‌ای متنوع از برنامه‌ها برای تعامل اتریوم از طریق پایتون

براونی (Brownie) محیط توسعه و چارچوب کاری تست بر پایه پایتون.

Web3j مجموعه‌ای از برنامه‌های Java/Android/Kotlin/Scala برای اتریوم

آیا به دنبال انتخاب‌های دیگری هم هستید؟

محیط‌های توسعه جامع (Integrated Development Environments (IDEs

Visual Studio Code پلتفرم متقاطع حرفه‌ای IDE با پشتیبانی رسمی اتریوم.

رمیکس Remix IDE بر پایه شبکه با تحلیل آماری تعبیه شده داخلی، و یک ماشین مجازی تست بلاک‌چین.

سوپربلاکس (Superblocks) آی دی ای (IDE) بر پایه شبکه، با ماشین مجازی مرورگر بلاک‌چین تعبیه شده داخلی، همسازی MetaMask، واقعه‌نگار تراکنش‌ها، و موارد دیگر.

اِت-فیدل (EthFiddle) آی دی ای (IDE) بر پایه شبکه، که شما را قادر به نوشتن، کامپایل، و رفع ایراد قرارداد هوشمندتان می‌کند.

آیا به دنبال انتخاب‌های دیگری هم هستید؟

Frontend Javascript APIs

Web3.js Ethereum Javascript API

Ethers.js ایجاد و کاربرد‌پذیری کامل کیف پول اتریوم در JavaScript و TypeScript

light.js مجموعه‌ای از برنامه‌های انفعالی سطح بالای JS که برای رایانه‌های سبک بهینه‌سازی شده‌اند.

Web3-wrapper Typescript alternative to Web3.js

آیا به دنبال انتخاب‌های دیگری هم هستید؟

Backend APIs

Infura The Ethereum API as a service

درگاه اتریوم Cloudflare

Nodesmith دسترسی به شبکه‌های اصلی و تست اتریوم JSON-RPC API

ذخیره‌سازی

IPFS یک سیستم ارجاع فایل و ذخیره‌سازی غیر‌متمرکز برای اتریوم، (InterPlanetary File System).

Swarm یک پلتفورم ذخیره‌سازی توزیع‌شده و سرویس توزیع محتوی برای اتریوم web3 stack.

OrbitDB یک پایگاه داده همتا به همتای غیر‌متمرکز در سطح بالاتر از IPFS.

ابزار‌های امنیت

Slither تحلیل آماری Solidity نوشته شده با Python 3

MythX API تحلیل امنیت برای قرارداد‌های هوشمند اتریوم

Mythril ابزار تحلیل امنیت برای بایت‌کد EVM

Manticore یک اینترفیس خط فرمان که از یک ابزار اجرایی سمبلیک برای قرارداد‌های هوشمند و باینری‌ها استفاده می‌کند.

Securify اسکنر امنیت برای قرارداد‌های هوشمند اتریوم

(Formal Verification) تایید رسمی

آیا به دنبال انتخاب-های دیگری هم هستید؟

ابزار‌های تست

Solidity-Coverage ابزار اندازه‌گیری پوشش کد solidity.

hevm اجرای EVM که به طور اختصاصی برای تست یونیت و رفع ایراد قرارداد‌های هوشمند ساخته شده است.

Whiteblock Genesis یک پلتفورم تست و محل توسعه end-to-end برای بلاک‌چین.

آیا به دنبال انتخاب‌های دیگری هم هستید؟

جستجوگر‌های بلاک

جستجوگر‌های بلاک سرویس‌هایی هستند که با یافتن اطلاعات درباره تراکنش‌های ویژه، بلاک‌ها، قرارداد‌ها، و سایر فعالیت‌های روی زنجیره، به شما اجازه می‌دهند که در بلاک‌چین اتریوم (و تست‌نت‌های مربوط به آن) کاوش کنید.

تست‌نت‌ها و فاست‌ها

جامعه اتریوم از تست‌نت‌های چند‌گانه مراقبت و نگهداری می‌کنند. اینها جهت تست برنامه‌های کاربردی در شرایط گوناگون، و قبل از گسترش آنها به شبکه اصلی اتریوم، مورد استفاده توسعه‌دهندگان قرار می‌گیرد.

Ropsten بلاک‌چین اثبات کار (PoW)، تست‌اتر قابل استخراج است

Rinkeby بلاک‌چین اثبات اعتبار (PoS)، پشتیبانی‌شده توسط تیم توسعه Geth

Goerli بلاک‌چین Cross-client Proof of Authority، ساخت و پشتیبانی توسط جامعه Goerli

کلاینت‌ها و اجرای نود شخصی شما

شبکه اتریوم از تعداد زیادی نود تشکیل می‌شود که نرم‌افزار سازگار کلاینت را اجرا می‌کند. اکثریت این نود‌ها موارد زیر را اجرا می‌کنند که هرکدام از آنها می‌توانند مطابق نیاز‌های شما شکل‌دهی شوند. Geth یا Parity

Geth کلاینت‌های اتریوم، نوشته ‌شده با Go

Parity کلاینت اتریوم، نوشته شده با Rust

Besu Pantheon کلاینت اتریوم، نوشته شده با Java

منابع نود اتریوم

Ethnode اجرای یک نود اتریوم (Geth یا Parity) برای توسعه محلی.

آیا به دنبال انتخاب‌های دیگری هم هستید؟

بهترین تمرین‌ها، الگو‌ها و ضد‌الگو‌ها

قراردادهای هوشمند

DappSys بلاک‌‌ساز‌های امن، آسان، و منعطف برای قرارداد‌های هوشمند.

قرارداد-های OpenZeppelin مجموعه‌ای برای توسعه امن قرارداد هوشمند.

aragonOS الگو‌هایی برای کنترل ارتقا‌پذیری و اجازه دسترسی.

امنیت

رجیستری ضعف قرارداد هوشمند

راهنمای بهترین تمرین‌های امنیت قرارداد هوشمند

-Smart Contract Best Practices

آیا به دنبال انتخاب-های دیگری هم هستید؟

آموزش و پشتیبانی توسعه‌دهنده

شبکه پرسش و پاسخ اتریوم

آکادمی ConsenSys دوره آموزشی توسعه‌دهنده اتریوم end-to-end که گام به گام بوده و در تمام طول سال برگزار می‌شود.

اتاق گفتگوی Solidity Gitter

تمام اتاق‌های گفتگوی Ethereum Gitter

Chainshot آموزش برنامه نویسی اتریوم - تحت وب.

Cryptozombies آموزش برنامه نویسی بازی‌ها روی اتریوم.

Blockgeeks دوره‌های آموزشی آنلاین در فناوری بلاک‌چین

DappUniversity آموزش ساخت برنامه‌های کاربردی غیرمتمرکز روی بلاک‌چین اتریوم

Ethernaut جنگ آزمون بر پایه Solidity که در هر سطح یک قرارداد برای هک شدن وجود دارد

Capture the Ether بازی امنیت قرارداد هوشمند اتریوم

UI/UX

استاندارد‌ها

جامعه اتریوم استاندارد‌هایی را مورد پذیرش قرار داده است که به کمک توسعه‌دهندگان می‌آید. آنها معمولا تحت عنوان پیشنهاد‌های بهسازی اتریوم (EIPs) ارائه می‌شوند که توسط اعضای جامعه اتریوم از طریق یک پروسه استاندارد مورد بحث قرار می‌گیرند.

بعضی EIP ها با استاندارد‌های در سطح برنامه‌های کاربردی مربوط هستند (به طور مثال، یک فرمت قرارداد هوشمند استاندارد) که تحت این عنوان ارائه می‌شوند. Ethereum Requests for Comment (ERC) تعداد زیادی از ERC ها استاندارد‌های قطعی هستند که به طور وسیع در راستای اکوسیستم اتریوم مورد استفاده قرار می‌گیرند.