#سالیدیتی 2
2. ترجمهها
داوطلبان کامیونتی به ترجمه این اسناد به چندین زبان کمک می کنند. این ترجمه ها سطوح مختلفی از کامل بودن و به روز بودن را دارند. نسخه انگلیسی به عنوان مرجع میباشد.
• فرانسوی (در حال انجام)
• ایتالیایی (در حال انجام)
• ژاپنی
• کره ای (در حال انجام)
• روسی (نسبتاً قدیمی)
• چینی ساده شده (در حال انجام)
• اسپانیایی
• ترکی (جزئی)
🆔@soliditylang_fa
2. ترجمهها
داوطلبان کامیونتی به ترجمه این اسناد به چندین زبان کمک می کنند. این ترجمه ها سطوح مختلفی از کامل بودن و به روز بودن را دارند. نسخه انگلیسی به عنوان مرجع میباشد.
• فرانسوی (در حال انجام)
• ایتالیایی (در حال انجام)
• ژاپنی
• کره ای (در حال انجام)
• روسی (نسبتاً قدیمی)
• چینی ساده شده (در حال انجام)
• اسپانیایی
• ترکی (جزئی)
🆔@soliditylang_fa
👍4
#سالیدیتی 3
3.1 مقدمه ای بر قرادهای هوشمند
3.1.1 یک قرارداد هوشمند ساده
بیایید با یک مثال ابتدایی شروع کنیم که مقدار یک متغیر را تعیین می کند و آن را در معرض دسترسی سایر قراردادها قرار می دهد. اینکه شما الان متوجه چیزی نمیشوید طبیعی میباشد، بعداً به جزئیات بیشتری خواهیم پرداخت.
مثال ذخیره سازی
// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.4.16 <0.9.0;
contract SimpleStorage { uint storedData;
function set(uint x) public { storedData = x;
}
function get() public view returns (uint) { return storedData;
}
}
خط اول به شما میگوید که کد منبع(source code) تحت مجوز GPL نسخه 3.0 میباشد. مشخص کننده های مجوزِ(license specifiers) قابل ِخواندن توسط ِماشین در جایی که انتشار کد منبع (source code) به طور پیش فرض (default) باشد مهم است.
خط بعدی مشخص می کند که کد منبع (source code) برای سالیدیتی نسخه 0.4.16 یا نسخه جدیدتر زبان نوشته شده است، اما شامل نسخه 0.9.0 نمیباشد. این امر به منظور این است که اطمینان حاصل شود قرارداد هوشمند نتواند با نسخه جدید کامپایلر (breaking) کامپایل شود، بخاطر اینکه میتواند رفتار متفاوتی داشته باشد. پراگما (Pragmas) دستورالعمل های رایج برای کامپایلرها در مورد نحوه برخورد با کد منبع میباشند (به عنوان مثال پراگما یک بار(pragma once)).
قراردادها در سالیدیتی به معنای مجموعه ای از کد (توابع آن) و داده ها (حالت آن) است که در یک آدرس خاص در بلاکچین اتریوم قرار دارد. خط uint storedData; یک متغیر حالت (state variable) را به نام storedData از نوع uint (عدد صحیح بدون علامت(unsigned integer) 256 بیت) را مشخص می کند. میتوان آن را به عنوان یک اسلات (slot) در پایگاه داده در نظر بگیرید که میتوانید با فراخوانی توابع کدی که پایگاه داده را مدیریت می کند، آن ها را جستوجو کرده و ویرایش کنید. در این مثال، قرارداد توابع Set و get را تعریف می کند که برای ویرایش (modify) یا بازیابی (retrieve) مقدار متغیر استفاده شود.
برای دسترسی به یک متغیر حالت (state variable)، نیازی به پیشوند this ندارید. همانطور که در زبانهای دیگر رایج است.
این قرارداد جدا از اینکه هنوز کار زیادی انجام ندادهاست (به دلیل زیرساخت های ساخته شده توسط اتریوم) اجازه میدهد هر کس یک تک عدد (single number) را ذخیره کند که توسط هر کسی در دنیا بدون هیچ روشی (عملی(feasible)) برای جلوگیری از انتشار این عدد قابل دسترسی می باشد. هر کسی می تواند مجدداً تابع Set را فراخوانی کند و عدد شما را رونویسی (overwrite) کند، اما عدد در تاریخچه ی بلاکچین هنوز ذخیره بماند. بعداً خواهید دید که چگونه می توانید محدودیت های دسترسی را اعمال کنید تا فقط شما بتوانید عدد را تغییر دهید.
هشدار:
در استفاده از متن Unicode مراقب باشید، زیرا نویسه های (characters) مشابه (یا حتی یکسان) می توانند دارای نکته های کدی (code points) متفاوتی باشند وهمینطور به عنوان یک آرایه بایت متفاوت کدگذاری میشوند.
توجه :
همه شناسه(identifier)ها (نام قرارداد ، نام تابع و نام متغیر) به مجموعه کاراکترهای ASCII محدود میشوند. ذخیره دادههای رمزگذاری شده UTF-8 در متغیرهای رشته (string)ای امکان پذیر است.
🆔@soliditylang_fa
3.1 مقدمه ای بر قرادهای هوشمند
3.1.1 یک قرارداد هوشمند ساده
بیایید با یک مثال ابتدایی شروع کنیم که مقدار یک متغیر را تعیین می کند و آن را در معرض دسترسی سایر قراردادها قرار می دهد. اینکه شما الان متوجه چیزی نمیشوید طبیعی میباشد، بعداً به جزئیات بیشتری خواهیم پرداخت.
مثال ذخیره سازی
// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.4.16 <0.9.0;
contract SimpleStorage { uint storedData;
function set(uint x) public { storedData = x;
}
function get() public view returns (uint) { return storedData;
}
}
خط اول به شما میگوید که کد منبع(source code) تحت مجوز GPL نسخه 3.0 میباشد. مشخص کننده های مجوزِ(license specifiers) قابل ِخواندن توسط ِماشین در جایی که انتشار کد منبع (source code) به طور پیش فرض (default) باشد مهم است.
خط بعدی مشخص می کند که کد منبع (source code) برای سالیدیتی نسخه 0.4.16 یا نسخه جدیدتر زبان نوشته شده است، اما شامل نسخه 0.9.0 نمیباشد. این امر به منظور این است که اطمینان حاصل شود قرارداد هوشمند نتواند با نسخه جدید کامپایلر (breaking) کامپایل شود، بخاطر اینکه میتواند رفتار متفاوتی داشته باشد. پراگما (Pragmas) دستورالعمل های رایج برای کامپایلرها در مورد نحوه برخورد با کد منبع میباشند (به عنوان مثال پراگما یک بار(pragma once)).
قراردادها در سالیدیتی به معنای مجموعه ای از کد (توابع آن) و داده ها (حالت آن) است که در یک آدرس خاص در بلاکچین اتریوم قرار دارد. خط uint storedData; یک متغیر حالت (state variable) را به نام storedData از نوع uint (عدد صحیح بدون علامت(unsigned integer) 256 بیت) را مشخص می کند. میتوان آن را به عنوان یک اسلات (slot) در پایگاه داده در نظر بگیرید که میتوانید با فراخوانی توابع کدی که پایگاه داده را مدیریت می کند، آن ها را جستوجو کرده و ویرایش کنید. در این مثال، قرارداد توابع Set و get را تعریف می کند که برای ویرایش (modify) یا بازیابی (retrieve) مقدار متغیر استفاده شود.
برای دسترسی به یک متغیر حالت (state variable)، نیازی به پیشوند this ندارید. همانطور که در زبانهای دیگر رایج است.
این قرارداد جدا از اینکه هنوز کار زیادی انجام ندادهاست (به دلیل زیرساخت های ساخته شده توسط اتریوم) اجازه میدهد هر کس یک تک عدد (single number) را ذخیره کند که توسط هر کسی در دنیا بدون هیچ روشی (عملی(feasible)) برای جلوگیری از انتشار این عدد قابل دسترسی می باشد. هر کسی می تواند مجدداً تابع Set را فراخوانی کند و عدد شما را رونویسی (overwrite) کند، اما عدد در تاریخچه ی بلاکچین هنوز ذخیره بماند. بعداً خواهید دید که چگونه می توانید محدودیت های دسترسی را اعمال کنید تا فقط شما بتوانید عدد را تغییر دهید.
هشدار:
در استفاده از متن Unicode مراقب باشید، زیرا نویسه های (characters) مشابه (یا حتی یکسان) می توانند دارای نکته های کدی (code points) متفاوتی باشند وهمینطور به عنوان یک آرایه بایت متفاوت کدگذاری میشوند.
توجه :
همه شناسه(identifier)ها (نام قرارداد ، نام تابع و نام متغیر) به مجموعه کاراکترهای ASCII محدود میشوند. ذخیره دادههای رمزگذاری شده UTF-8 در متغیرهای رشته (string)ای امکان پذیر است.
🆔@soliditylang_fa
👍2
سلام دوستان🤓👋
تغییرات جدیدی که زبان سالیدیتی ورژن 0.8.5 اعمال کرده و در وبلاگ سالیدیتی گزارش داده رو ترجمه کردم و در ویرگول قرار دادم. امیدوارم بتونید از این پست استفاده کنید و اگه ایرادی هست بهم اطلاع بدین، خوشحال میشم انتقادات و نظرات شما رو بدونم.🤓
https://virgool.io/@sarabavifard/%D8%B3%D8%A7%D9%84%DB%8C%D8%AF%DB%8C%D8%AA%DB%8C-%D9%88%D8%B1%DA%98%D9%86-085-imlxfdfxh02v
🆔@soliditylang_fa
تغییرات جدیدی که زبان سالیدیتی ورژن 0.8.5 اعمال کرده و در وبلاگ سالیدیتی گزارش داده رو ترجمه کردم و در ویرگول قرار دادم. امیدوارم بتونید از این پست استفاده کنید و اگه ایرادی هست بهم اطلاع بدین، خوشحال میشم انتقادات و نظرات شما رو بدونم.🤓
https://virgool.io/@sarabavifard/%D8%B3%D8%A7%D9%84%DB%8C%D8%AF%DB%8C%D8%AA%DB%8C-%D9%88%D8%B1%DA%98%D9%86-085-imlxfdfxh02v
🆔@soliditylang_fa
ویرگول
سالیدیتی ورژن 0.8.5
در این پست تغییرات جدیدی که زبان سالیدیتی ورژن اعمال کرده و در بلاگ سالیدیتی گزارش داده رو ترجمه کردم
👍1
این نسخهی اول صفحه Persian DeFi Society هست که صرفا نقش Hub و indexing منابع و ابزارهای فارسی و انگلیسی رو داره. لطفا با اشتراک نظراتتون کمک کنید کاملتر و بهتر بشه تا از این به بعد بتونیم به افراد جدید همین یک لینک رو بدیم برای وارد شدن به این فضا.
@soliditylang_fa
https://persiandefi.com/
@soliditylang_fa
https://persiandefi.com/
کتاب کوچک بیتکوین
📚🎧
فایل کتاب صوتی "کتاب کوچک بیتکوین"
یک هدیه جالب تقدیم به مخاطبان کانال رایابلاکچین
🆔️ @rayablockchain
فایل کتاب صوتی "کتاب کوچک بیتکوین"
یک هدیه جالب تقدیم به مخاطبان کانال رایابلاکچین
🆔️ @rayablockchain
Forwarded from 🦄Ethereans🦄
چگونه #برنامهنویس #سالیدیتی بشیم و نقشه راه چیه.
#اتریوم #بیتکوین #قراردادهوشمند
https://bit.ly/amirh-bcome-solidity-dev
#اتریوم #بیتکوین #قراردادهوشمند
https://bit.ly/amirh-bcome-solidity-dev
وبلاگ امیر حبیبزاده
نقشه راه برنامهنویس بلاکچین-اتریوم-سالیدیتی
توی این پست به صورت جزیی تر با ارایه لینک به صورت طبقه بندی شده در مورد اینکه چطور برنامه نویس سالیدیتی بشیم مینویسم.
👍5👏2🕊1
اگه زبانتون خوب باشه، این دوره ای که بنظرم برای شروع میتونه بهتون کمک کنه👇
https://www.youtube.com/watch?v=p3C7jljTXaA&list=PLbbtODcOYIoE0D6fschNU4rqtGFRpk3ea
🆔@soliditylang_fa
https://www.youtube.com/watch?v=p3C7jljTXaA&list=PLbbtODcOYIoE0D6fschNU4rqtGFRpk3ea
🆔@soliditylang_fa
YouTube
Solidity Tutorial: Introduction
FREE MASTERCLASS "Get Into Web3 In a Bear Market"
👉 Link: https://eattheblocks.com/masterclass
👉 Full roadmap to learn Web3 Development & get a 6 figure remote job
👉 EVEN during this bear market
👉 Link: https://eattheblocks.com/masterclass
👉 Full roadmap to learn Web3 Development & get a 6 figure remote job
👉 EVEN during this bear market
اگه زبانتون خوب باشه، این دوره ای که بنظرم برای شروع میتونه بهتون کمک کنه👇
https://www.youtube.com/watch?v=hMwdd664_iw&t=70s
🆔@soliditylang_fa
https://www.youtube.com/watch?v=hMwdd664_iw&t=70s
🆔@soliditylang_fa
YouTube
Learn Solidity (0.5) - Hello World
Learn how to write your first smart contract in Solidity.
Code: https://solidity-by-example.org/hello-world/
Remix IDE: http://remix.ethereum.org
Solidity: https://solidity.readthedocs.io
Follow on Twitter: @ProgrammerSmart https://twitter.com/ProgrammerSmart…
Code: https://solidity-by-example.org/hello-world/
Remix IDE: http://remix.ethereum.org
Solidity: https://solidity.readthedocs.io
Follow on Twitter: @ProgrammerSmart https://twitter.com/ProgrammerSmart…
اسپیس نقشه راه برنامه نویسی #سالیدیتی
در پیج تویتر وحید کاظمیان
@vahidkm86
از دوستان فعال در این حوزه دعوت میکنیم همراه ما باشند.
@sbetamc @defimancer @GreatSaoshyant @saracodic @amir_habibzadeh @newbateni2 @Sahar_banoo_
سه شنبه 1 تیر ۱۴۰۰ (22june) ساعت ۲۲
👇👇👇👇
https://twitter.com/vahidkm86/status/1406233385987620865
در پیج تویتر وحید کاظمیان
@vahidkm86
از دوستان فعال در این حوزه دعوت میکنیم همراه ما باشند.
@sbetamc @defimancer @GreatSaoshyant @saracodic @amir_habibzadeh @newbateni2 @Sahar_banoo_
سه شنبه 1 تیر ۱۴۰۰ (22june) ساعت ۲۲
👇👇👇👇
https://twitter.com/vahidkm86/status/1406233385987620865
Twitter
vahid km
اسپیس با موضوع نقشه راه برنامه نویسی #سالیدیتی از دوستان فعال در این حوزه دعوت میکنیم همراه ما باشند @sbetamc @defimancer @GreatSaoshyant @saracodic @amir_habibzadeh @newbateni2 @Sahar_banoo_ @rezanmmd @mehdi_eth سه شنبه 1 تیر ۱۴۰۰ (22june) ساعت ۲۲
سلام دوستان
چین لینک دوره رایگان برای برنامه نویسی قرارداد هوشمند گذاشته میتونین ثبت نام کنید.
ممنون از ایمان جان بابت معرفی.
ایدی تویتر ایمان👇👇
@ImanOracle
لینک دوره 👇👇👇
https://chainlinkcommunity.typeform.com/to/LrZDSJA3?page=blog
🆔@soliditylang_fa
چین لینک دوره رایگان برای برنامه نویسی قرارداد هوشمند گذاشته میتونین ثبت نام کنید.
ممنون از ایمان جان بابت معرفی.
ایدی تویتر ایمان👇👇
@ImanOracle
لینک دوره 👇👇👇
https://chainlinkcommunity.typeform.com/to/LrZDSJA3?page=blog
🆔@soliditylang_fa
Typeform
Smart Contract Developer Bootcamp Registration
Sign up for the free Smart Contract Developer Bootcamp
سالیدیتی ورژن 0.8.6 منتشر شد.
توی این ورژن یه سری باگ ها گزارش داده که تقریبا کم اهمیت هستن.
من اونارو ترجمه کردم و توی ویرگول گذاشتم.
🆔 @soliditylang_fa
https://t.co/jLWZ151CHF
توی این ورژن یه سری باگ ها گزارش داده که تقریبا کم اهمیت هستن.
من اونارو ترجمه کردم و توی ویرگول گذاشتم.
🆔 @soliditylang_fa
https://t.co/jLWZ151CHF
ویرگول
ورژن 0.8.6 سالیدیتی
سالیدیتی در ورژن برخی از باگهای غیر حیاتی اما آزار دهنده، خصوصاً هشدار مربوط به کد غیرقابل دسترسی که در واقع قابل دسترسی هستن را بر
اینجا فقط سوالات مربوط به برنامه نویسی بلاکچینی بپرسید و بحث رو فقط در مورد برنامه نویسی بلاکچینی محدود کنید. هرگونه موضوع متفاوت حذف خواهد شد.
برای اینکه جواب سوالتون رو بهتر پیدا کنید بهتره سوال رو تو گروه مربوطه بپرسید.
گروه های جانبی رو بر اساس موضوعی که میخواید میتونید اینجا پیدا کنید.
❌❌❌❌❌❌❌❌❌❌❌❌
توجه توجه:
دقت کنید که لینک ها اشتباه نیست
❌❌❌❌❌❌❌❌❌❌❌❌
به جز اخری اونا رو کپی کنید و کلمهی deleteme رو از تهش بردارید بعد سعی کنید وارد بشید.(برای جلو گیری از اومدن بات ها و ادمای بی حوصله)
۱- سیمرغ سامورایی. برای تست سامورایی و استفاده از تست نت برای انجام تراکنش های مهیج و تازگی لایتنینگ
https://news.1rj.ru/str/simorghsamouraideleteme
۲- سیمرغ حملهی ۵۱ ٪
https://news.1rj.ru/str/joinchat/SMoK1xenjZDA3ca_deleteme
۳- سیمرغ رایگیری
شاخه بررسی رایگیری از گروه سیمرغ
https://news.1rj.ru/str/joinchat/BburckmtY74piUNgHSfPcgdeleteme
۴-فورک فنی سیمرغ (بلاکچین) پیرامون توسعه و پیاده سازی ساختار های فنی
https://news.1rj.ru/str/joinchat/HEVlvU6LMxOhDUyJ9vJrSAdeleteme
5-اگر میخواید در مورد اکسچنجها حرف بزنید. شاکی هستید یا پیشنهاد انتقاد دارید . یا میخواید در مورد والت های التکوین ها سوال کاربردی برپسید جاش اینجاس
https://news.1rj.ru/str/joinchat/kCPU9B_s1MVmZmRhdeleteme
———————
6- اگر سوال مربوط به ترید دارید یا مشکل دارید با اکانت های اکسچنج هاتون یا چیزایی که با اکسچنج ها و ترید مربوط میشه برید رو اینجا.(این لینک سالمه تغییر نمیخواد) پرشن کریپتو گروه جانبی از سیمرغ نیست.
https://news.1rj.ru/str/persiancryptocommunity
#قوانین
🆔@soliditylang_fa
برای اینکه جواب سوالتون رو بهتر پیدا کنید بهتره سوال رو تو گروه مربوطه بپرسید.
گروه های جانبی رو بر اساس موضوعی که میخواید میتونید اینجا پیدا کنید.
❌❌❌❌❌❌❌❌❌❌❌❌
توجه توجه:
دقت کنید که لینک ها اشتباه نیست
❌❌❌❌❌❌❌❌❌❌❌❌
به جز اخری اونا رو کپی کنید و کلمهی deleteme رو از تهش بردارید بعد سعی کنید وارد بشید.(برای جلو گیری از اومدن بات ها و ادمای بی حوصله)
۱- سیمرغ سامورایی. برای تست سامورایی و استفاده از تست نت برای انجام تراکنش های مهیج و تازگی لایتنینگ
https://news.1rj.ru/str/simorghsamouraideleteme
۲- سیمرغ حملهی ۵۱ ٪
https://news.1rj.ru/str/joinchat/SMoK1xenjZDA3ca_deleteme
۳- سیمرغ رایگیری
شاخه بررسی رایگیری از گروه سیمرغ
https://news.1rj.ru/str/joinchat/BburckmtY74piUNgHSfPcgdeleteme
۴-فورک فنی سیمرغ (بلاکچین) پیرامون توسعه و پیاده سازی ساختار های فنی
https://news.1rj.ru/str/joinchat/HEVlvU6LMxOhDUyJ9vJrSAdeleteme
5-اگر میخواید در مورد اکسچنجها حرف بزنید. شاکی هستید یا پیشنهاد انتقاد دارید . یا میخواید در مورد والت های التکوین ها سوال کاربردی برپسید جاش اینجاس
https://news.1rj.ru/str/joinchat/kCPU9B_s1MVmZmRhdeleteme
———————
6- اگر سوال مربوط به ترید دارید یا مشکل دارید با اکانت های اکسچنج هاتون یا چیزایی که با اکسچنج ها و ترید مربوط میشه برید رو اینجا.(این لینک سالمه تغییر نمیخواد) پرشن کریپتو گروه جانبی از سیمرغ نیست.
https://news.1rj.ru/str/persiancryptocommunity
#قوانین
🆔@soliditylang_fa
Telegram
پرشین کریپتو
گروههای آموزشی،تحلیلی،مارکتینگ پرشین کریپتو
@persiancryptocommunity
@persiancryptotrade
@persiancryptomine
@persiancryptoico
کانال
@persiancrypto
@persiancryptomedia
@persiancryptocommunity
@persiancryptotrade
@persiancryptomine
@persiancryptoico
کانال
@persiancrypto
@persiancryptomedia