COMPΞZ 🧬
393 subscribers
1.85K photos
52 videos
24 files
736 links
متخصص کامپیوتر و نرم‌افزار • سازنده • هنرمند و طراح • مجموعه‌دار • نویسنده • تحلیل‌گر • مشاور استارتاپی و ایده‌پرداز

𐎲𐎴𐎠𐎼𐎴𐎫𐎹 𐏃𐎢𐎶𐎠𐎫𐎹

We create because the world deserves better code.

https://linktr.ee/compez
Download Telegram
COMPΞZ 🧬
سر نخ‌های پیشنهادی چیه؟ چطور میشه خیلی سریع به موضوعات مهم تخصص نرم‌افزار دسترسی داشت؟ قبلاً در این خصوص یه مقاله نوشته بودم مسائل خیلی بیشتری از این‌ها می‌تونه بهش اضافه بشه. خلاصه‌ای از ملزومات و نقشهٔ راه ساخت و ساز محصول نرم‌افزاری
در ادامه اصل ماجرا خیلی فراتر از این‌ها هم هست که بخوای حساب کتاب کنی می‌بینی باید هفت خان رستم رو فتح کنی تا در تمامی سطوح پاسخگو باشی، این امر شدنی هست اما زمانی که شما محدود به یک موضوع باشید قطعاً درک همهٔ مسائل محدود و ناتوان در اجرای آن خواهید شد.
👍1
COMPΞZ 🧬
در ادامه اصل ماجرا خیلی فراتر از این‌ها هم هست که بخوای حساب کتاب کنی می‌بینی باید هفت خان رستم رو فتح کنی تا در تمامی سطوح پاسخگو باشی، این امر شدنی هست اما زمانی که شما محدود به یک موضوع باشید قطعاً درک همهٔ مسائل محدود و ناتوان در اجرای آن خواهید شد.
- وقتی می‌گم آشنا قطعاً در حد حروف الفبا کافی نیست، باید در حد نیاز تسلط و درک کافی ازشون وجود داشته باشه.

- همهٔ این‌ها رو باید در کمترین زمان ممکن نسبت به یک مشتری، محصول و نیاز تشخیص بدین و انتخاب کنید، به این کار می‌گن ارزیابی محصول بر اساس دانسته‌های فنی که تماماً متکی بر دانش و تجربهٔ شماست. (کارشناسی پروژه دقیقاً همین موضوع است).

- برای بهتر شدن و حرفه‌ای تر شدن هم باید فراتر از این‌ها پیش برید و در قالب «مثلث دانش» بهبودش بدهید.

- محصولات معتبر جهانی حاصلِ چنین نقشه‌های پیش‌بردی هستند و اصول تخصصی و مهندسی رو رعایت می‌کنن تا به یک درجهٔ کیفی موفق و زبان زد می‌رسند. شاید این مسائل از نظر یک برنامه‌نویس ساده و نه چندان با تجربه مهم نباشه، اما در سطح کیفی یک محصول نرم‌افزاری همهٔ این مسائل مهم تلقی می‌شوند.
👍1
COMPΞZ 🧬
«مثلث دانش»
به این تصویر دقت کن.
🔥1
COMPΞZ 🧬
به این تصویر دقت کن.
حالا اینو با دقت بخون...

دانستن این که وسعت و عمق دانشِ ما چقدر است بسیار مهمه، ما طبق همین اصول یک هرم نمایش از سطح دانش و نیاز‌های تکنیکی بر اساس «اصول معماری نرم‌افزار» (Software Architecture Fundamentals) داریم که به سه حالت ساده خلاصه می‌شه:

۱- چیز‌هایی که می‌دانیم.
۲- چیز‌هایی که می‌دانیم وجود دارند و در موردشان شنیده‌ایم، اما دانش عمیقی راجع به آن‌ها نداریم.
۳- چیز‌هایی که نمی‌دانیم که هستند و در موردشان چیزی نمی‌دانیم!

به طور خلاصه مواردی که در گزینهٔ اول هستند، شامل ابزار‌ها، زبان‌های برنامه‌نویسی، فریم‌ورک‌ها، کتابخانه‌های تحت فناوری هست که شما با اون‌ها آشنا هستید و در انجام کار‌های روزمره ازشون هم استفاده می‌کنید خیلی از افراد غیر متخصص همینطور هستند و گروه‌های تلگرامی و افراد بسیاری وجود داره که با ادعای گزینهٔ اول اصلاً در جریان گزینه‌های دوم و سوم قرار نمی‌گیرند و در همین تاریکی خودشون رو کامل می‌بینند و حتی صاحب نظر هم می‌دونن.

در گزینهٔ دوم، مواردی هستند که شما صرفاً در موردشون شنیده‌اید و تجربه‌ای به صورت واقعی و عملی باهاشون ندارید. برای مثال، یک برنامه‌نویس سی++ درسته که با هسته، نحو و کتابخانهٔ پیش‌فرض و شاید با کتابخانه‌های دیگر اون زبان کار می‌کنه، اما احتمال این که در بحث پردازش تصویر کار نکرده باشه وجود داره، اما با این حال در موردشون شنیده و میدونه چیز‌هایی هستند که در موردشون چیزی نمی‌دونه.

گزینهٔ سوم بیشترین دانش مورد نیازی هست که در وسیع‌ترین بخش از «مثلث دانش» مطرح می‌شه که خودش زیر ساخت‌های مربوط به همین زبان‌ها، ابزار‌ها، فریم‌ورک، سیستم‌عامل، سخت‌افزار و غیره هست که داشتن اطلاعات و دانش کافی در این باره به شما اجازه میده تا راه حل‌های بهتری برای حل مسئله پیدا کنید. چون در این سطح شما به بیشترین دانش دسترسی دارید و می‌تونید مسئله رو ارزیابی، راه حل‌ها رو پیشنهاد و اون رو به نتیجه برسونید. اما خب همه در این حد نیستند و حتی نمی‌دونن که همچین سطحی وجود داره و به خیال خودش مهم نیستند یا لازم نیستند.

بهتره بدونید یک توسعه‌دهنده برای اینکه بتونه تخصص، شغل و مهارتش رو حفظ کنه باید در مورد احتمالات، پیش‌بینی‌ها و به‌روز رسانی‌های لازم رو داشته باشه؛ به طور خلاصه اطلاعات و دانش قدیمی در صورتی که به‌روز رسانی نشوند برای نظرات قطعی و کافی بودن در به کار گیری یک شیوهٔ جدید ملاک نیستند و یک توسعه‌دهنده باید سعی کنه در بالاترین سطح از «مثلث دانش» خودش رو به‌روز نگه‌داره که گفتم شامل ابزار‌ها، زبان‌ها، شیوه‌ها و غیره هستند.
👍1
ویژگی std::unreachable به عنوان یک ابزار پشتیبانی

قبل از هر چیز بهتر است بدانیم که در برنامه نویسی کامپیوتری، کدِ غیرقابل دسترسی، بخشی از کد منبع یک برنامه است که هرگز نمی‌تواند اجرا شود، زیرا هیچ مسیر کنترلی برای جریان کد از بقیه برنامه وجود ندارد. در سی‌پلاس‌پلاس نیز بعضاً در صورت نقض برخی از قوانین زبان، کل برنامه در مورد آن بخش بی‌معنی می‌شود. بنابراین ابزار std::unreachable که به عنوان گزینه‌ای در سرآیند (هدر) <utility> معرفی شده است وضعیت نامشخص را فرا می‌خواند.

هدف از به کارگیری این ویژگی:
- نشان دادن به کامپایلر که مسیر کد فعلی در شرایط عادی اجرای برنامه غیرقابل دسترس است.
- فعال کردن کامپایلر برای انجام بهینه‌سازی‌ها بر اساس این دانش (به عنوان مثال، حذف کد غیرقابل دسترس در ساخت‌های Release).
- ممکن است برای ابزارهای تحلیل ایستا (Static Analyzer) برای تشخیص خطاهای احتمالی یا کد مرده استفاده شود.
- مزیت این ویژگی برای استفاده در بهبود مدیریت خطا، دستورات سوئیچ و یا حلقه‌هاست.

فرض کنید تابعی داریم که یک عدد صحیح را به عنوان ورودی می‌گیرد و باید آن را بین ۰ و ۱۲۸ بررسی کند. اگر عدد خارج از این محدوده باشد، تابع باید یک خطا را به کاربر گزارش دهد.

import std;

void validateInput(int value)
{
if (value < 0 || value > 128)
{
std::cerr << "Error: Value must be between 0 and 128.\n";
std::unreachable();
}
}

auto main() -> int {
validateInput(128);
validateInput(-128);
}


- وضوح کد، به وضوح نشان می‌دهد که کد بعد از std::unreachable غیرقابل دسترس است.
- بهینه‌سازی، به کامپایلر اجازه می‌دهد تا کد غیرقابل دسترس را حذف کند.
- تشخیص خطا، در صورت رسیدن به کد بعد از std::unreachable، نشان‌دهنده یک خطای منطقی در برنامه است.


#cpp20 #cpp23 #ub #unreachable #چالش #سی‌روزه #روز_دوازدهم
2
COMPΞZ 🧬
ویژگی std::unreachable به عنوان یک ابزار پشتیبانی قبل از هر چیز بهتر است بدانیم که در برنامه نویسی کامپیوتری، کدِ غیرقابل دسترسی، بخشی از کد منبع یک برنامه است که هرگز نمی‌تواند اجرا شود، زیرا هیچ مسیر کنترلی برای جریان کد از بقیه برنامه وجود ندارد. در سی‌پلاس‌پلاس…
بخش تخصصی دوم (به‌روز رسانی Solidity) |ساختار (Struct)

در Solidity راهی برای تعریف انواع جدید در قالب ساختار ارائه می‌شود؛ یک ساختار یک نوع سفارشی تعریف شده است که به شما امکان می‌دهد گروهی از متغیرها را تحت یک نام واحد کپسوله کنید. این شبیه به ساختار در زبان های برنامه نویسی دیگر مانند C یا ++C است.

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.6.0 <0.9.0;

// Defines a new type with two fields.
// Declaring a struct outside of a contract allows
// it to be shared by multiple contracts.
// Here, this is not really needed.
struct Funder {
address addr;
uint amount;
}

contract CrowdFunding {
// Structs can also be defined inside contracts, which makes them
// visible only there and in derived contracts.
struct Campaign {
address payable beneficiary;
uint fundingGoal;
uint numFunders;
uint amount;
mapping(uint => Funder) funders;
}

uint numCampaigns;
mapping(uint => Campaign) campaigns;

function newCampaign(address payable beneficiary, uint goal) public returns (uint campaignID) {
campaignID = numCampaigns++; // campaignID is return variable
// We cannot use "campaigns[campaignID] = Campaign(beneficiary, goal, 0, 0)"
// because the right hand side creates a memory-struct "Campaign" that contains a mapping.
Campaign storage c = campaigns[campaignID];
c.beneficiary = beneficiary;
c.fundingGoal = goal;
}

function contribute(uint campaignID) public payable {
Campaign storage c = campaigns[campaignID];
// Creates a new temporary memory struct, initialised with the given values
// and copies it over to storage.
// Note that you can also use Funder(msg.sender, msg.value) to initialise.
c.funders[c.numFunders++] = Funder({addr: msg.sender, amount: msg.value});
c.amount += msg.value;
}

function checkGoalReached(uint campaignID) public returns (bool reached) {
Campaign storage c = campaigns[campaignID];
if (c.amount < c.fundingGoal)
return false;
uint amount = c.amount;
c.amount = 0;
c.beneficiary.transfer(amount);
return true;
}
}


انواع ساختاری می‌توانند در داخل نگاشت‌ها (mappings) و آرایه‌ها استفاده شوند و خود ممکن است شامل نگاشت‌ها و آرایه‌هایی باشند.

ممکن نیست یک ساختار حاوی یک عضو از نوع خودش باشد، با این حال خود ساختار می‌تواند نوع مقدار عضوی از یک عضو نگاشت باشد یا ممکن است شامل یک آرایه با اندازه پویا از نوع خودش باشد. این محدودیت ضروری است، زیرا اندازهٔ ساختار باید محدود باشد. همچنین در تمام توابع، یک نوع ساختاری به یک متغیر محلی با مکانیت داده ذخیره می‌شود. این کار کپی کردن ساختار را انجام نمی‌دهد بلکه فقط یک مرجع را ذخیره می‌کند، به طوری که نسبت به اعضای متغیر محلی واقعی به وضوح نوشته شود.

البته، می‌توانید نیز به طور مستقیم به اعضای ساختار دسترسی داشته باشید بدون این که آن را به یک متغیر محلی اختصاص دهید، مانند

campaigns[campaignID].amount = 0

#solidity #web3 #update #ether #اتریوم
1
COMPΞZ 🧬
ویژگی std::unreachable به عنوان یک ابزار پشتیبانی قبل از هر چیز بهتر است بدانیم که در برنامه نویسی کامپیوتری، کدِ غیرقابل دسترسی، بخشی از کد منبع یک برنامه است که هرگز نمی‌تواند اجرا شود، زیرا هیچ مسیر کنترلی برای جریان کد از بقیه برنامه وجود ندارد. در سی‌پلاس‌پلاس…
ابزار کمکی std::to_underlying در C++23

در استاندارد ۲۳، تابع std::to_underlying برای تبدیل مقادیر شمارشی به نوع پایه ای آنها معرفی شده است. این تابع می‌تواند برای تبدیل انواع شمارشی مانند enum و enum class به نوع پایه‌ای آنها مانند int یا unsigned int استفاده شود.

برای مثال، فرض کنید می‌خواهیم مقدار Color::Green در شمارنده را به عنوان یک عدد صحیح ۸ بیتی ذخیره کنیم. در این صورت می‌توانیم از تابع std::to_underlying برای تبدیل Color::Green به نوع std::uint8_t استفاده کنیم:

import std;

enum class Color : std::uint8_t {
Red = 0,
Green = 1,
Blue = 2
};

auto main() -> int {

std::uint8_t colorIndex = std::to_underlying(Color::Green);
std::println("Color Index:{}", colorIndex);

}


از مزایای این ویژگی می‌تواند به افزایش خوانایی کد، جلوگیری از خطاهای تبدیل و افزایش کارآیی کد اشاره کرد.

#cpp20 #cpp23 #to_underlying #چالش #سی‌روزه #روز_سیزدهم
1🔥1
COMPΞZ 🧬
بخش تخصصی دوم (به‌روز رسانی Solidity) |ساختار (Struct) در Solidity راهی برای تعریف انواع جدید در قالب ساختار ارائه می‌شود؛ یک ساختار یک نوع سفارشی تعریف شده است که به شما امکان می‌دهد گروهی از متغیرها را تحت یک نام واحد کپسوله کنید. این شبیه به ساختار در…
بخش تخصصی دوم (به‌روز رسانی Solidity) |انواع نگاشت‌ها (Mapping)

در Solidity، از نوع داده‌های Mapping برای ایجاد یک نوع داده کلید-مقدار استفاده می‌شود. این نوع داده‌ها با نحو دستوری زیر تعریف می‌شوند:

mapping(KeyType KeyName? => ValueType ValueName?)


و متغیرهای از این نوع با دستور زیر اعلام می‌شوند:

mapping(KeyType KeyName? => ValueType ValueName?) VariableName


سایر انواع تعریف شده یا پیچیده توسط کاربر، مانند نگاشت (mapping)، ساختارها یا انواع آرایه مجاز نیستند. ValueType می‌تواند هر نوعی باشد، از جمله نگاشت، آرایه و ساختار. KeyName و ValueName اختیاری هستند (بنابراین نگاشت (KeyType => ValueType) نیز کار می‌کند) و می‌تواند هر شناسه معتبری باشد که یک نوع نیست.

می‌توانید نگاشت‌ها را به‌عنوان جداول هش در نظر بگیرید، که تقریباً به گونه‌ای مقداردهی اولیه می‌شوند که هر کلید ممکن وجود داشته باشد و به مقداری نگاشت می‌شود که نمایش بایت آن صفر است، مقدار پیش‌فرض یک نوع. شباهت به همین جا ختم می شود، داده‌های کلیدی در یک نگاشت ذخیره نمی شوند، فقط هش keccak256 آن برای جستجوی مقدار استفاده می‌شود.

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

در مثال زیر، قرارداد MappingExample یک نگاشت balances عمومی را با نوع کلید یک address، و نوع مقدار یک uint، نگاشت یک آدرس اتریوم به یک مقدار صحیح بدون علامت تعریف می‌کند. از آنجایی که uint یک نوع مقدار است، دریافت‌کننده مقداری را برمی‌گرداند که با نوع مطابقت دارد، که می‌توانید آن را در قرارداد MappingUser مشاهده کنید که مقدار را در آدرس مشخص شده برمی‌گرداند.

contract MappingExample {
mapping(address => uint) public balances;

function update(uint newBalance) public {
balances[msg.sender] = newBalance;
}
}

contract MappingUser {
function f() public returns (uint) {
MappingExample m = new MappingExample();
m.update(100);
return m.balances(address(this));
}
}


مثال زیر یک نسخه ساده شده از توکن ERC20 است. allowances_ نمونه‌ای از یک نوع نگاشت در داخل یک نوع نقشه برداری دیگر است. در آن KeyName و ValueName اختیاری برای نگاشت ارائه شده است. این بر هیچ عملکرد قرارداد یا بایت کد تأثیر نمی‌گذارد، فقط فیلد نام ورودی و خروجی را در ABI برای دریافت کننده نقشه تعیین می‌کند.
مثال زیر از allowancesـ برای ثبت مبلغی استفاده می‌کند که شخص دیگری مجاز است از حساب شما برداشت کند.

contract MappingExample {

mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;

event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);

function allowance(address owner, address spender) public view returns (uint256) {
return _allowances[owner][spender];
}

function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
require(_allowances[sender][msg.sender] >= amount, "ERC20: Allowance not high enough.");
_allowances[sender][msg.sender] -= amount;
_transfer(sender, recipient, amount);
return true;
}

function approve(address spender, uint256 amount) public returns (bool) {
require(spender != address(0), "ERC20: approve to the zero address");

_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}

function _transfer(address sender, address recipient, uint256 amount) internal {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
require(_balances[sender] >= amount, "ERC20: Not enough funds.");

_balances[sender] -= amount;
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
}
}


#solidity #web3 #update #ether #اتریوم
1
آدم‌ها وقتی نا امید می‌شوند؛
به خیلی کمتر از آنچه لیاقتش را دارند راضی می‌شوند.

شب شیک 🚀🌹🌘
8👍3
👍2
خب امیدوارم با راهکار‌هایی که گفتیم واسه همتون حل شده باشه! 🙂🤌🏼
🥰1
خب، دیروز من سه تا جلسه داشتم که یکیش مربوط به موضوع Base و همراهی جامعش بود؛ بنابراین از طرف من هم ورود به دنیای base و فعالیت به صورت جدی در اون بخش از امروز شروع میشه. 😎🚀👊🏼

https://warpcast.com/compez.eth/0x510c7bde
🔥41
خب همینجا بمونه تا اینو ۱ رقمیش کنم. 😉
2
COMPΞZ 🧬
خب همینجا بمونه تا اینو ۱ رقمیش کنم. 😉
وقتی می‌گم بیس، یعنی چیزی حدود ۶.۲ برابر بزرگتر از جامعهٔ سوپر ریر در شاخهٔ فارکستر!

یعنی همون وقتی که من روی ریر گذاشتم رو بیارم روی بیس تا ۶ برابر پتانسیل رشد بیشتری در اون می‌بینم. 🔥

حالا به چی نیاز داریم؟
۱) بستر سازی و گسترش صنعت بیس
۲) آموزش و گسترش محتوا در مورد بیس
۳) ساخت و توسعه بر مبنای شبکهٔ بیس برای رسیدن به ۱ میلیارد تراکنش به عنوان هدف جامعه

تابستون قبلی حرکت‌هایی زده شد اما این تابستون مطمئنم یه چیز دیگه‌ای در انتظار هست.

ما شروع می‌کنیم، شماهم سعی کنید در خصوص بیس جدی باشید.
👍6❤‍🔥1
این رو هم الآن به چشمم خورد که روی شبکهٔ بیس تشویق می‌کنه برای تراکنش ایجاد کردن در قالب چالش‌ها؛ ممکنه در آینده امتیازات خوبی براتون بده.

برنامهٔ Blockscout Merits یک سیستم پاداش‌دهی است که به کاربران برای تعامل و کاوش در بلاک‌چین از طریق پلتفرم Blockscout امتیازاتی به نام "Merits" اعطا می‌کند. این امتیازات نشان‌دهندهٔ مهارت و مشارکت کاربران در استفاده از کاوشگر بلاک‌چین هستند و می‌توانند در آینده برای دسترسی به ویژگی‌های انحصاری، کالاها، تخفیف‌ها و فرصت‌های ویژه مورد استفاده قرار گیرند.

نحوهٔ کسب Merits:


ثبت‌نام در برنامه Merits: با ثبت‌نام در برنامه، ۱۰۰ Merits دریافت می‌کنید. استفاده از کد معرف در هنگام ثبت‌نام، ۱۰۰ Merits اضافی به همراه دارد.

دریافت پاداش روزانه: هر روز با مراجعه به داشبورد Merits و کلیک بر روی دکمهٔ مربوطه، می‌توانید ۱۰ Merits دریافت کنید.

شرکت در کمپین‌ها و مأموریت‌ها: با انجام وظایف مشخص‌شده در کمپین‌ها و مأموریت‌های اعلام‌شده، Merits بیشتری کسب کنید.

استفاده از Swapscout: با استفاده از Swapscout برای تبادل یا پل‌زدن دارایی‌ها، به‌صورت خودکار Merits دریافت خواهید کرد.

معرفی دوستان: با اشتراک‌گذاری کد معرف خود و دعوت از دوستان، ۱۰٪ از Merits کسب‌شده توسط آن‌ها را به‌عنوان پاداش دریافت می‌کنید.

https://eth.blockscout.com?ref=WXQ0WT

خودم شاید فرصت انجامش رو هم نداشته باشم! صرفاً جهت اطلاع بود.
👍2🙏1
COMPΞZ 🧬
وقتی می‌گم بیس، یعنی چیزی حدود ۶.۲ برابر بزرگتر از جامعهٔ سوپر ریر در شاخهٔ فارکستر! یعنی همون وقتی که من روی ریر گذاشتم رو بیارم روی بیس تا ۶ برابر پتانسیل رشد بیشتری در اون می‌بینم. 🔥 حالا به چی نیاز داریم؟ ۱) بستر سازی و گسترش صنعت بیس ۲) آموزش و گسترش…
باهوش باشی، می‌تونی حدس بزنی که چه اتفاقی خواهد افتاد. 👇🏼👇🏼👇🏼

در ژانویه ۲۰۲۵، تیم Base مأموریت، چشم‌انداز و استراتژی خود را برای سال ۲۰۲۵ اعلام کرد. هدف آن‌ها ساخت یک اقتصاد جهانی بر بستر بلاک‌چین است که نوآوری، خلاقیت و آزادی را افزایش دهد—اینترنتی جدید که توسط مردم و برای مردم ساخته می‌شود.

اهداف بزرگ و چالش‌برانگیز برای سال ۲۰۲۵:


۱) ۲۵ میلیون کاربر
۲) ۲۵ هزار توسعه‌دهنده
۳) ظرفیت بلوک ۲۵۰ مگاگس در ثانیه
۴) ۱۰۰ میلیارد دلار دارایی در پلتفرم
۵) ۱ میلیارد تراکنش در ماه اکتبر

پنج رکن استراتژیک برای دستیابی به این اهداف:


شبکهٔ Base برای توسعه‌دهندگان: ارائه ابزارهای قدرتمند و باز برای ساخت برنامه‌های برتر بر بستر بلاک‌چین.
شبکهٔ Base برای برنامه‌ها: حمایت از اکوسیستم متنوعی از برنامه‌های متصل و باز برای جذب کاربران بیشتر.
شبکهٔ Base برای مالکیت: ایجاد حساب‌های کاربری قدرتمند با تأمین مالی، هویت و مدیریت یکپارچه.
شبکهٔ Base برای بازارها: تبدیل Base به مرکز اقتصاد بلاک‌چین با بازارهای سرمایه جهانی و همیشه فعال.
شبکهٔ Base برای همه: تمرکز بر تمرکززدایی، مقیاس‌پذیری و تسریع Base برای دسترسی همگان به بلاک‌چین.
این استراتژی‌ها نشان‌دهنده تعهد Base به ساخت یک اقتصاد جهانی و باز بر بستر بلاک‌چین است که برای همه قابل دسترسی باشد.
2🔥1
COMPΞZ 🧬
باهوش باشی، می‌تونی حدس بزنی که چه اتفاقی خواهد افتاد. 👇🏼👇🏼👇🏼 در ژانویه ۲۰۲۵، تیم Base مأموریت، چشم‌انداز و استراتژی خود را برای سال ۲۰۲۵ اعلام کرد. هدف آن‌ها ساخت یک اقتصاد جهانی بر بستر بلاک‌چین است که نوآوری، خلاقیت و آزادی را افزایش دهد—اینترنتی جدید…
در نهایت، مهم نیست که در سال ۲۰۲۵ چه کارهایی انجام می‌دهیم؛ بلکه مهم است چگونه آن‌ها را انجام می‌دهیم. در سال ۲۰۲۵، ما به اصول خود پایبند خواهیم ماند. این به معنای:

- انجام کارهای درست
- سخت‌کوشی
- حفظ خوش‌بینی
- پیش بردن مرزها با خلاقیت
- قرار دادن تیم بالاتر از فرد
- اگر همه ما به این شیوه عمل کنیم، می‌توانیم سریع‌تر و فراتر پیش برویم.
3🔥2👌1
همهٔ کسانی که مشکلشون حل شده و به من اطلاع دادن شمارهٔ مجازی داشتن.

پس مشکل تا به این لحظه، قابل حل بوده.
😢1
چیزی که توی ذهم هست بین بازهٔ ۶ ماه تا ۱ سال گزینهٔ خوبی نخواهد بود! چون ما هدفمون از ایردراپ شناختن پروژه و تبلیغش هست. که به عنوان حمایت توزیع میشه و در مقابل ارزش آفرینی مورد انتظار ماست.

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

این موضوع حل بشه، یک بازهٔ زمانی ۲ تا ۳ ساله رو هم میشه در نظر گرفت که به صوت روزانه یه نونی سر سفره ملت بره بشینه! 😉 اما برای من اولویت کسانی هستن که زحمت می‌کشن و هم برای رشد خودشون هم برای رشد جامعه تلاش می‌کنن.
👍4