COMPΞZ 🧬
بخش تخصصی دوم (بهروز رسانی Solidity) |کلمهٔ کلیدی delete کلمهٔ کلیدی حذف (delete) یک مقدار اولیه برای نوع داده مورد نظر به متغیر میدهد. به عنوان مثال برای اعداد صحیح، معادل با a = 0 است، اما میتواند بر روی آرایهها نیز استفاده شود، جایی که یک آرایه پویا…
بخش تخصصی دوم (بهروز رسانی Solidity) | نگاشتهای تکرار پذیر (Iterable Mappings)
در سالیدیتی شما نمیتوانید روی Mappings (نگاشتها) عمل تکرار را انجام دهید، به عبارت دیگر نمیتوانید کلیدهای آنها را شمارش کنید. با این حال، امکان پیادهسازی یک ساختار داده بر روی آنها و حلقه زدن بر روی آن وجود دارد. به عنوان مثال، کد زیر یک بخش کتابخانه (library) برای IterableMapping پیادهسازی میکند که پس از آن قرارداد User دادهها را به آن اضافه میکند، و sum به عنوان تابع، iterates را برای جمع کلیهٔ مقادیر استفاده میکند.
#solidity #web3 #update #ether #اتریوم
در سالیدیتی شما نمیتوانید روی Mappings (نگاشتها) عمل تکرار را انجام دهید، به عبارت دیگر نمیتوانید کلیدهای آنها را شمارش کنید. با این حال، امکان پیادهسازی یک ساختار داده بر روی آنها و حلقه زدن بر روی آن وجود دارد. به عنوان مثال، کد زیر یک بخش کتابخانه (library) برای IterableMapping پیادهسازی میکند که پس از آن قرارداد User دادهها را به آن اضافه میکند، و sum به عنوان تابع، iterates را برای جمع کلیهٔ مقادیر استفاده میکند.
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.8;
struct IndexValue { uint keyIndex; uint value; }
struct KeyFlag { uint key; bool deleted; }
struct itmap {
mapping(uint => IndexValue) data;
KeyFlag[] keys;
uint size;
}
type Iterator is uint;
library IterableMapping {
function insert(itmap storage self, uint key, uint value) internal returns (bool replaced) {
uint keyIndex = self.data[key].keyIndex;
self.data[key].value = value;
if (keyIndex > 0)
return true;
else {
keyIndex = self.keys.length;
self.keys.push();
self.data[key].keyIndex = keyIndex + 1;
self.keys[keyIndex].key = key;
self.size++;
return false;
}
}
function remove(itmap storage self, uint key) internal returns (bool success) {
uint keyIndex = self.data[key].keyIndex;
if (keyIndex == 0)
return false;
delete self.data[key];
self.keys[keyIndex - 1].deleted = true;
self.size --;
}
function contains(itmap storage self, uint key) internal view returns (bool) {
return self.data[key].keyIndex > 0;
}
function iterateStart(itmap storage self) internal view returns (Iterator) {
return iteratorSkipDeleted(self, 0);
}
function iterateValid(itmap storage self, Iterator iterator) internal view returns (bool) {
return Iterator.unwrap(iterator) < self.keys.length;
}
function iterateNext(itmap storage self, Iterator iterator) internal view returns (Iterator) {
return iteratorSkipDeleted(self, Iterator.unwrap(iterator) + 1);
}
function iterateGet(itmap storage self, Iterator iterator) internal view returns (uint key, uint value) {
uint keyIndex = Iterator.unwrap(iterator);
key = self.keys[keyIndex].key;
value = self.data[key].value;
}
function iteratorSkipDeleted(itmap storage self, uint keyIndex) private view returns (Iterator) {
while (keyIndex < self.keys.length && self.keys[keyIndex].deleted)
keyIndex++;
return Iterator.wrap(keyIndex);
}
}
// How to use it
contract User {
// Just a struct holding our data.
itmap data;
// Apply library functions to the data type.
using IterableMapping for itmap;
// Insert something
function insert(uint k, uint v) public returns (uint size) {
// This calls IterableMapping.insert(data, k, v)
data.insert(k, v);
// We can still access members of the struct,
// but we should take care not to mess with them.
return data.size;
}
// Computes the sum of all stored data.
function sum() public view returns (uint s) {
for (
Iterator i = data.iterateStart();
data.iterateValid(i);
i = data.iterateNext(i)
) {
(, uint value) = data.iterateGet(i);
s += value;
}
}
}
#solidity #web3 #update #ether #اتریوم
🔥1
به نکتهٔ ریز دیجن دقت کن که چرا فاندرش نمیتونه توکن رو مدیریت کنه و مجبوره به زور و تصمیم یه شبه بزنه تارو مار کنه!
۶۰ درصد از حجم مجموعهٔ توکنها رو اختصاص داده به ایردراپ!!! ۱۵ درصد باز برای خود جامعست و ۱۵ درصد هم در بهترین حالت مال سرمایهگذار بدبخته!!!
الآن فقط ۳ درصد برای اکوسیستم باقی مونده وبقیش دست کسانی هست که توی ایردراپ شرکت کردن!!! چه فارمر چه آرتیست چه هرکسی!
خب تکلیف چیه؟ وقتی هر بار سر ماه میشه همه هجوم میبرن برای فروش و نقد کردن چیزی که بیشترین فشار ممکن رو وارد میکنه.
خب نتیجش میشه همینی که الآن هست! کسانی که اوایل بودن خوردن فرار کردن! فارمرها عشقشو بردن! الآن اون ته موندهها امثال من و شما که خود اکوسیستم هستیم رو هوا داریم دنبال پرتقال فروش میگردیم.
تعادل باید وجود داشته باشه!
وقتی بیشترین دارایی رو اختصاص دادی به ایردراپ معلومه که به زور هم مجبور میشی به ملت بگی لاک کنید یا بزنی بنشون کنی!
از پایه و اساس بخش تخصیص دادن توکنها اشتباه بوده و این منجر به فشار فروش در هر ماه میشه که وقتی به کندلها هم دقت کنی همین رو دارن میگن.
۶۰ درصد از حجم مجموعهٔ توکنها رو اختصاص داده به ایردراپ!!! ۱۵ درصد باز برای خود جامعست و ۱۵ درصد هم در بهترین حالت مال سرمایهگذار بدبخته!!!
الآن فقط ۳ درصد برای اکوسیستم باقی مونده وبقیش دست کسانی هست که توی ایردراپ شرکت کردن!!! چه فارمر چه آرتیست چه هرکسی!
خب تکلیف چیه؟ وقتی هر بار سر ماه میشه همه هجوم میبرن برای فروش و نقد کردن چیزی که بیشترین فشار ممکن رو وارد میکنه.
خب نتیجش میشه همینی که الآن هست! کسانی که اوایل بودن خوردن فرار کردن! فارمرها عشقشو بردن! الآن اون ته موندهها امثال من و شما که خود اکوسیستم هستیم رو هوا داریم دنبال پرتقال فروش میگردیم.
تعادل باید وجود داشته باشه!
وقتی بیشترین دارایی رو اختصاص دادی به ایردراپ معلومه که به زور هم مجبور میشی به ملت بگی لاک کنید یا بزنی بنشون کنی!
از پایه و اساس بخش تخصیص دادن توکنها اشتباه بوده و این منجر به فشار فروش در هر ماه میشه که وقتی به کندلها هم دقت کنی همین رو دارن میگن.
👍1🤔1🥴1
COMPΞZ 🧬
به نکتهٔ ریز دیجن دقت کن که چرا فاندرش نمیتونه توکن رو مدیریت کنه و مجبوره به زور و تصمیم یه شبه بزنه تارو مار کنه! ۶۰ درصد از حجم مجموعهٔ توکنها رو اختصاص داده به ایردراپ!!! ۱۵ درصد باز برای خود جامعست و ۱۵ درصد هم در بهترین حالت مال سرمایهگذار بدبخته!!!…
ولی من معتقدم هر چیزی در زمان خودش رخ میده! اینها تجربیات خوبی هستن. 😉
👍1💯1
COMPΞZ 🧬
به نکتهٔ ریز دیجن دقت کن که چرا فاندرش نمیتونه توکن رو مدیریت کنه و مجبوره به زور و تصمیم یه شبه بزنه تارو مار کنه! ۶۰ درصد از حجم مجموعهٔ توکنها رو اختصاص داده به ایردراپ!!! ۱۵ درصد باز برای خود جامعست و ۱۵ درصد هم در بهترین حالت مال سرمایهگذار بدبخته!!!…
میزان درصد تخصیصش خیلی بالاست! وحشتناک بالاست.
حالا تنها موضوع امیدوار کنندش اینه که این ایردراپبازیها تقریباً کمتر بشه یا حتی توکنسازی صورت بگیره و تعداد توکن در چرخش برگرده دست تریدرها وسرمایه گذارهایی که قراره از این به بعد بیان تو بازار که این هم زمانی ممکنه که بازار حجم خوبی بخوره!
در کل پروژه نمرده اما وضعیت فعلیش هم به دلیل آزاد سازی گستردهٔ توکن هست! برگشتن به حالتهای ایدهآلش نیاز به ورود سرمایه سنگین به کل بازار کریپتو داره که همه امیدوار بودن آلتسیزن این رو حل میکنه! اما خب کو اتریوم ۵ هزار دلاری؟! 😁 اگه هنوز هم هولدرش هستید به نظر من وقتی بازار حجم خوبی بخوره همه اینارو میشه جبران شده دید. فقط صبر! ⚡️
حالا تنها موضوع امیدوار کنندش اینه که این ایردراپبازیها تقریباً کمتر بشه یا حتی توکنسازی صورت بگیره و تعداد توکن در چرخش برگرده دست تریدرها وسرمایه گذارهایی که قراره از این به بعد بیان تو بازار که این هم زمانی ممکنه که بازار حجم خوبی بخوره!
در کل پروژه نمرده اما وضعیت فعلیش هم به دلیل آزاد سازی گستردهٔ توکن هست! برگشتن به حالتهای ایدهآلش نیاز به ورود سرمایه سنگین به کل بازار کریپتو داره که همه امیدوار بودن آلتسیزن این رو حل میکنه! اما خب کو اتریوم ۵ هزار دلاری؟! 😁 اگه هنوز هم هولدرش هستید به نظر من وقتی بازار حجم خوبی بخوره همه اینارو میشه جبران شده دید. فقط صبر! ⚡️
👍3
در استاندارد ۲۳ ویژگی
منظور از Value Category به نوع ارزش (value) یا مرجع (reference) یک شیء در ++C اشاره دارد. این موضوع به نحوهٔ استفاده از شیء در کد شما و نحوهٔ ارسال آن به توابع و عبارات مختلف مربوط میشود. که به صورت زیر دستهبندی میشوند:
- نوع Lvalue
به موقعیتی در حافظه اشاره میکند که میتواند مورد تغییر قرار بگیرد و میتواند شامل متغیرها، عناصر آرایه، مقادیر عضو کلاس و عبارات (مانند x + y) باشد.
- نوع Rvalue
به یک مقدار موقت (temporary value) اشاره میکند که قابل تغییر نیست و میتواند شامل مقادیر برگشتی توابع، نتایج عبارات (مانند "Hello" + "World") و مقادیر موقت ایجاد شده توسط اپراتورها باشد.
- نوع Xvalue
نوع خاصی از Rvalue است که فقط در موارد خاص مانند انتقال مالکیت (move semantics) استفاده میشود.
به طور کلی تابع جدید std::forward_like تابعی مشابه std::forward است، با این تفاوت که کنترل دقیقتری بر دستهبندی مقادیر (lvalue، rvalue، xvalue) بدون تغییر نوع خود ارائه میدهد و در سرآیند <utility> موجود است. قبل از ۲۳، انتقال عبارات عضو در یک تابع میتوانست دشوار باشد، بهویژه برای (move semantics) دشوارتر بود که در این بهروز رسانی std::forward_like این کار را سادهتر میکند.
- ویژگی std::forward به شما کمک میکند آرگومان را به گونهای منتقل کنید که نوع اصلی آن حفظ شود.
- ویژگی std::forward_like به شما کمک میکند تا آرگومان را به گونهای منتقل کنید که نوع عبارت دیگری را تقلید کند و آن را با نوع اصلی آن عبارت سازگار نگه دارد.
در ++C، نوع یک شیء میتواند به عنوان یک lvalue (مرجع) یا rvalue (مقدار موقت) در نظر گرفته شود. و در اینجا std::forward_like تضمین میکند که آرگومان با ارزش صحیح (lvalue یا rvalue) ارسال شود.
کلاس زیر را در نظر بگیرید که دو تابع get_value و get_value_ref را دارد:
در تابع main عبارت std::forward_like برای ارسال آرگومان data با حفظ نوع (lvalue در این مورد) استفاده شده است.
#cpp20 #cpp23 #forward_like #forward #چالش #سیروزه #رمضان #روز_شانزدهم
std::forward_like یک الگوی تابعی است که به انتقال دستهبندی مقادیر (value category) در سناریوهای مختلف کمک میکند.منظور از Value Category به نوع ارزش (value) یا مرجع (reference) یک شیء در ++C اشاره دارد. این موضوع به نحوهٔ استفاده از شیء در کد شما و نحوهٔ ارسال آن به توابع و عبارات مختلف مربوط میشود. که به صورت زیر دستهبندی میشوند:
- نوع Lvalue
به موقعیتی در حافظه اشاره میکند که میتواند مورد تغییر قرار بگیرد و میتواند شامل متغیرها، عناصر آرایه، مقادیر عضو کلاس و عبارات (مانند x + y) باشد.
- نوع Rvalue
به یک مقدار موقت (temporary value) اشاره میکند که قابل تغییر نیست و میتواند شامل مقادیر برگشتی توابع، نتایج عبارات (مانند "Hello" + "World") و مقادیر موقت ایجاد شده توسط اپراتورها باشد.
- نوع Xvalue
نوع خاصی از Rvalue است که فقط در موارد خاص مانند انتقال مالکیت (move semantics) استفاده میشود.
به طور کلی تابع جدید std::forward_like تابعی مشابه std::forward است، با این تفاوت که کنترل دقیقتری بر دستهبندی مقادیر (lvalue، rvalue، xvalue) بدون تغییر نوع خود ارائه میدهد و در سرآیند <utility> موجود است. قبل از ۲۳، انتقال عبارات عضو در یک تابع میتوانست دشوار باشد، بهویژه برای (move semantics) دشوارتر بود که در این بهروز رسانی std::forward_like این کار را سادهتر میکند.
- ویژگی std::forward به شما کمک میکند آرگومان را به گونهای منتقل کنید که نوع اصلی آن حفظ شود.
- ویژگی std::forward_like به شما کمک میکند تا آرگومان را به گونهای منتقل کنید که نوع عبارت دیگری را تقلید کند و آن را با نوع اصلی آن عبارت سازگار نگه دارد.
در ++C، نوع یک شیء میتواند به عنوان یک lvalue (مرجع) یا rvalue (مقدار موقت) در نظر گرفته شود. و در اینجا std::forward_like تضمین میکند که آرگومان با ارزش صحیح (lvalue یا rvalue) ارسال شود.
کلاس زیر را در نظر بگیرید که دو تابع get_value و get_value_ref را دارد:
import std;
class Data {
public:
int get_value() const { return m_value; }
int& get_value_ref() { return m_value; }
private:
int m_value = 42;
};
auto main() -> int {
Data data;
int value = std::forward_like<decltype(data)>(data).get_value();
std::println("value: {}", value);
int& ref = std::forward_like<decltype(data)&>(data).get_value_ref();
ref = 100;
std::println("value: {}", data.get_value());
}
در تابع main عبارت std::forward_like برای ارسال آرگومان data با حفظ نوع (lvalue در این مورد) استفاده شده است.
#cpp20 #cpp23 #forward_like #forward #چالش #سیروزه #رمضان #روز_شانزدهم
COMPΞZ 🧬
در استاندارد ۲۳ ویژگی std::forward_like یک الگوی تابعی است که به انتقال دستهبندی مقادیر (value category) در سناریوهای مختلف کمک میکند. منظور از Value Category به نوع ارزش (value) یا مرجع (reference) یک شیء در ++C اشاره دارد. این موضوع به نحوهٔ استفاده از…
بخش تخصصی دوم (بهروز رسانی Solidity) | تبدیل ضمنی (Implicit Conversions)
در سالدیتی، تبدیل نوع ضمنی به طور خودکار توسط کامپایلر در برخی موارد در زمان اختصاص، هنگام ارسال آرگومانها به توابع و زمان اعمال اپراتورها اتفاق میافتد. به طور کلی، تبدیل نوع ضمنی بین انواع مقادیر امکانپذیر است اگر از نظر معنایی منطقی باشد و هیچ اطلاعاتی از دست نرود.
به عنوان مثال، uint8 به uint16 و int128 به int256 قابل تبدیل است، اما int8 قابل تبدیل به uint256 نیست، زیرا uint256 نمیتواند مقادیری مانند 1- را نگه دارد.
اگر یک اپراتور به انواع مختلفی اعمال شود، کامپایلر سعی میکند یکی از عملوندها را به طور ضمنی به نوع دیگر تبدیل کند (همین موضوع برای اختصاص نیز صحیح است). این بدان معناست که عملیات همیشه با توجه به نوع یکی از عملوندها انجام میشود.
در مثال زیر، y و z که عملوندهای جمع هستند، از همان نوع نیستند، اما uint8 به طور ضمنی قابل تبدیل به uint16 است و بالعکس نیست. به همین دلیل، y قبل از انجام جمع در نوع uint16 تبدیل میشود. نوع نتیجهٔ عبارت y + z و uint16 است. بعد از انجام جمع، به یک متغیر از نوع uint32 تبدیل نوعی دیگر نهانی صورت میگیرد.
#solidity #web3 #update #ether #اتریوم
در سالدیتی، تبدیل نوع ضمنی به طور خودکار توسط کامپایلر در برخی موارد در زمان اختصاص، هنگام ارسال آرگومانها به توابع و زمان اعمال اپراتورها اتفاق میافتد. به طور کلی، تبدیل نوع ضمنی بین انواع مقادیر امکانپذیر است اگر از نظر معنایی منطقی باشد و هیچ اطلاعاتی از دست نرود.
به عنوان مثال، uint8 به uint16 و int128 به int256 قابل تبدیل است، اما int8 قابل تبدیل به uint256 نیست، زیرا uint256 نمیتواند مقادیری مانند 1- را نگه دارد.
اگر یک اپراتور به انواع مختلفی اعمال شود، کامپایلر سعی میکند یکی از عملوندها را به طور ضمنی به نوع دیگر تبدیل کند (همین موضوع برای اختصاص نیز صحیح است). این بدان معناست که عملیات همیشه با توجه به نوع یکی از عملوندها انجام میشود.
در مثال زیر، y و z که عملوندهای جمع هستند، از همان نوع نیستند، اما uint8 به طور ضمنی قابل تبدیل به uint16 است و بالعکس نیست. به همین دلیل، y قبل از انجام جمع در نوع uint16 تبدیل میشود. نوع نتیجهٔ عبارت y + z و uint16 است. بعد از انجام جمع، به یک متغیر از نوع uint32 تبدیل نوعی دیگر نهانی صورت میگیرد.
uint8 y;
uint16 z;
uint32 x = y + z;
#solidity #web3 #update #ether #اتریوم
هعی دنیا! عجب دنیایی شده این حوزهٔ وب ۳ 😄
اونا همیشه با من رقابت میکنن، اما من هنوز تو بهترین نسخهٔ خودم نیستم! 😉😒👊🏼
اونا همیشه با من رقابت میکنن، اما من هنوز تو بهترین نسخهٔ خودم نیستم! 😉😒👊🏼
COMPΞZ 🧬
نمیدونم چی شد ولی یه حرکتی زدم نوتیفیکیشنهام ترکید! 👀
والا هنوز هیچ چیزی رونمایی نکردیم ما 😄
😁1
میپرسید که ماهم دوست داریم دنبال کننده زیادی داشته باشیم... چطوری ممکنه؟
خب ببین این آرزوی خیلیها میتونه باشه! اما باید واقعیت رو هم بدونی که به این راحتی نیست!
من قبل از این که اینهمه بتونم پیش بیام فکر میکردم همه چیز سادست! و صرفاً افتخار آفرینی خواهم دید! اما اینطوری نیست! غیر ممکنه وقتی شما رشد میکنید استرس و بازخوردهای به شدت سمی دریافت نکنید! این بعدش رو هیچوقت فراموش نکن وقتی رشد میکنی همه حاضر نیستن خوشحال باشن! بهت قول میدم وقتی هزار نفر دنبال کننده داشته باشی ۵۰۰ نفرش راحت فقط دنبالت میکنن که بکشنت پایین. 😄 اصلاً ساده بهش نگاه نکن! هیچوقت!
من وقتی به ۱۰ هزار نفر رسیدم آرزو میکردم که ای کاش هیچوقت به اون سطح نرسیده بودم، چون وقتی از یه سطح به بعد میگذری مردم کم کم شروع میکنن به بازخوردهای عجیب و غریب! مخصوصاً با قضاوتهای شخصیشون دود از سرت بلند میکنن.
من دقیقاً یک سال پیش، درست توی چهارشنبهسوری، برای اولین بار وارد فارکستر شدم! بهتره خلاصهٔ این مسیری که اومدم رو به شماهم بگم تا شاید بیشتر امیدوار باشید.
پارسال این موقع، همهچیز برام تازه و ناشناخته بود. دیدم خیلیها با دنبالکنندههای زیاد و کلی پست و سابقه وارد شده بودن و رشد کرده بودن. با خودم گفتم: خب طبیعیه، سخته توی یه فضای جدید دیده بشی.
ولی من کسی بودم که با فقط ۲۰۰ دنبالکننده، تونستم مخ ۶۵۲۹ رو بترکونم؛ همون کسی که توی توییتر نیم میلیون دنبالکننده داشت! یه زمانی با خودم میگفتم میرسه روزی که مثل این غول بشم و تأثیرگذار باشم؟!
اون داستان هنوز توی بلاکچین ثبت شده؛ قدیمیترها خوب میدونن اون آدم چه غولی بود! جسور بودن واسهٔ من خیلی سخت نیست! چون به این مطمئنم که اگه بخوام کاری رو انجام بدم میتونم! اگه بقیه تونستن پس منم میتونم!
وقتی اومدم توی فارکستر، واقعیت این بود که خیلیها حتی یه لایک هم نمیدادن. انگار اصلاً دیده نمیشدم!
تلخ بود… ولی یه چیزی درون من روشن بود: من نیومده بودم که زیر پستها بگردم دنبال توجه یا تیپ گرفتن.
من اومدم بسازم. رشد بدم. فرصت خلق کنم.
البته بله، وقتی کسی به کارت توجه نشون میده انگیزه میگیری. ولی برای من اولویت چیز دیگهای بود! باور به رسالتی که بر دوشم حس میکردم: ساختن، پیش رفتن، معنا بخشیدن.
راه سختی بود… خیلی سخت! چون باید از خیلی چیزها بگذری، خیلی تصمیمهای دشوار بگیری، خیلی وقتها سکوت کنی و ادامه بدی.
حدود یک ماه فقط با تعامل زیر پست بقیه سعی میکردم بفهمم چه کسی چه شخصیتی داره، چه ذهنهایی خلاق هستن، با چه کسانی میشه همافزایی کرد.
اما یه جایی دیدم این مسیر دیگه کافیه. وقتشه خودم باشم و تواناییهام رو بیارم وسط. تصمیم گرفتم مفید باشم، نه صرفاً دیدهشدن!
نتیجه؟
بعد از یه ماه شدم ۳۰۰۰ دنبالکننده.
سه ماه بعد، رسیدم به ۱۰۰۰۰ نفر.
بعد کارهای بیشتری انجام دادم و تعاملات بالا رفت و یهدفعه بیشتر شد.
و این مسیر ادامه پیدا کرد تا امروز که از ۳۶هزار نفر هم گذشتیم!
الآن دقیقاً یک ساله که این سفر شروع شده.
اگه بخوام به خودم نمره بدم، شاید از ۱۰۰ به خودم ۳۰ بدم! نه چون کم تلاش کردم، بلکه چون هنوز اون نسخهای که از خودم انتظار دارم، نشدهم. ولی میدونم اون روز هم میرسه. شاید همین سال آینده، همین روز!
خیلیها که نقد میکردن میگفتن چرا باید تو پیشرفت کنی و ما نتونیم!!!
در جواب میخوام اینو از ته دل بهت بگم:
وقتی کسی نمیبینت، ناامید نشو.
رسالتت رو ببین، نه واکنش بقیه رو.
اون کاری رو انجام بده که واقعاً بهش باور داری.
سرد میشی؟ ناامید میشی؟ قطعاً!
اما یادت نره: تو در مسیرت رشد میکنی، نه در مقصد.
یه روزایی حس میکنی هیچکس حواسش بهت نیست. یه روزایی هم چنان اوج میگیری که خودتم باورت نمیشه.
اما نه توی شکست، ناامید باش… و نه توی موفقیت، مغرور.
ادامه بده! مسیر خودش راهش رو باز میکنه.
من توی این مسیر خیلی فشار تحمل کردم که پر از لحظات پر استرس و عجیب بود! به جرأت میگم حجم ورودی توهین، تهدید، حتی حسادتهای سمی به شدت عجیب و غریب... به مراتب بیشتر از تشکر و قدردانی بوده! حتی یه روز رسید که بعضیها نامه نوشتن به ویتالیک (خالق اتریوم) 😄 که این آدم نباید توی اکوسیستم باشه! خندهداره، ولی واقعی بود 😄 بارها نامه نوشتن به مدیران سوپر ریر، بارها نامه نوشتن به کلهگندههای فارکستر! ولی دردناکترین جاش این بود که همشون ایرانی بودن!!! هموطن بودن!!! این برای من بزرگترین درد بود که افسوس میخوردم چطور جامعهٔ عجیبی داریم! توی گروهها و کانالها مدام برام شات میفرستادن، مدام از حرفها و توهینها... توهین به خودم، تهدید خودم، تهدید برادرم، تهدید خواهرم! مدام پیامهای خصوصی رکیک و به شدت آزار دهنده! خب فکرشو بکن... چطور ممکنه دلت نشکنه؟ چطور ممکنه اشک نریزی به خاطر چنین حجم وحشتناکی از کج فهمی!
خب ببین این آرزوی خیلیها میتونه باشه! اما باید واقعیت رو هم بدونی که به این راحتی نیست!
من قبل از این که اینهمه بتونم پیش بیام فکر میکردم همه چیز سادست! و صرفاً افتخار آفرینی خواهم دید! اما اینطوری نیست! غیر ممکنه وقتی شما رشد میکنید استرس و بازخوردهای به شدت سمی دریافت نکنید! این بعدش رو هیچوقت فراموش نکن وقتی رشد میکنی همه حاضر نیستن خوشحال باشن! بهت قول میدم وقتی هزار نفر دنبال کننده داشته باشی ۵۰۰ نفرش راحت فقط دنبالت میکنن که بکشنت پایین. 😄 اصلاً ساده بهش نگاه نکن! هیچوقت!
من وقتی به ۱۰ هزار نفر رسیدم آرزو میکردم که ای کاش هیچوقت به اون سطح نرسیده بودم، چون وقتی از یه سطح به بعد میگذری مردم کم کم شروع میکنن به بازخوردهای عجیب و غریب! مخصوصاً با قضاوتهای شخصیشون دود از سرت بلند میکنن.
من دقیقاً یک سال پیش، درست توی چهارشنبهسوری، برای اولین بار وارد فارکستر شدم! بهتره خلاصهٔ این مسیری که اومدم رو به شماهم بگم تا شاید بیشتر امیدوار باشید.
پارسال این موقع، همهچیز برام تازه و ناشناخته بود. دیدم خیلیها با دنبالکنندههای زیاد و کلی پست و سابقه وارد شده بودن و رشد کرده بودن. با خودم گفتم: خب طبیعیه، سخته توی یه فضای جدید دیده بشی.
ولی من کسی بودم که با فقط ۲۰۰ دنبالکننده، تونستم مخ ۶۵۲۹ رو بترکونم؛ همون کسی که توی توییتر نیم میلیون دنبالکننده داشت! یه زمانی با خودم میگفتم میرسه روزی که مثل این غول بشم و تأثیرگذار باشم؟!
اون داستان هنوز توی بلاکچین ثبت شده؛ قدیمیترها خوب میدونن اون آدم چه غولی بود! جسور بودن واسهٔ من خیلی سخت نیست! چون به این مطمئنم که اگه بخوام کاری رو انجام بدم میتونم! اگه بقیه تونستن پس منم میتونم!
وقتی اومدم توی فارکستر، واقعیت این بود که خیلیها حتی یه لایک هم نمیدادن. انگار اصلاً دیده نمیشدم!
تلخ بود… ولی یه چیزی درون من روشن بود: من نیومده بودم که زیر پستها بگردم دنبال توجه یا تیپ گرفتن.
من اومدم بسازم. رشد بدم. فرصت خلق کنم.
البته بله، وقتی کسی به کارت توجه نشون میده انگیزه میگیری. ولی برای من اولویت چیز دیگهای بود! باور به رسالتی که بر دوشم حس میکردم: ساختن، پیش رفتن، معنا بخشیدن.
راه سختی بود… خیلی سخت! چون باید از خیلی چیزها بگذری، خیلی تصمیمهای دشوار بگیری، خیلی وقتها سکوت کنی و ادامه بدی.
حدود یک ماه فقط با تعامل زیر پست بقیه سعی میکردم بفهمم چه کسی چه شخصیتی داره، چه ذهنهایی خلاق هستن، با چه کسانی میشه همافزایی کرد.
اما یه جایی دیدم این مسیر دیگه کافیه. وقتشه خودم باشم و تواناییهام رو بیارم وسط. تصمیم گرفتم مفید باشم، نه صرفاً دیدهشدن!
نتیجه؟
بعد از یه ماه شدم ۳۰۰۰ دنبالکننده.
سه ماه بعد، رسیدم به ۱۰۰۰۰ نفر.
بعد کارهای بیشتری انجام دادم و تعاملات بالا رفت و یهدفعه بیشتر شد.
و این مسیر ادامه پیدا کرد تا امروز که از ۳۶هزار نفر هم گذشتیم!
الآن دقیقاً یک ساله که این سفر شروع شده.
اگه بخوام به خودم نمره بدم، شاید از ۱۰۰ به خودم ۳۰ بدم! نه چون کم تلاش کردم، بلکه چون هنوز اون نسخهای که از خودم انتظار دارم، نشدهم. ولی میدونم اون روز هم میرسه. شاید همین سال آینده، همین روز!
خیلیها که نقد میکردن میگفتن چرا باید تو پیشرفت کنی و ما نتونیم!!!
در جواب میخوام اینو از ته دل بهت بگم:
وقتی کسی نمیبینت، ناامید نشو.
رسالتت رو ببین، نه واکنش بقیه رو.
اون کاری رو انجام بده که واقعاً بهش باور داری.
سرد میشی؟ ناامید میشی؟ قطعاً!
اما یادت نره: تو در مسیرت رشد میکنی، نه در مقصد.
یه روزایی حس میکنی هیچکس حواسش بهت نیست. یه روزایی هم چنان اوج میگیری که خودتم باورت نمیشه.
اما نه توی شکست، ناامید باش… و نه توی موفقیت، مغرور.
ادامه بده! مسیر خودش راهش رو باز میکنه.
من توی این مسیر خیلی فشار تحمل کردم که پر از لحظات پر استرس و عجیب بود! به جرأت میگم حجم ورودی توهین، تهدید، حتی حسادتهای سمی به شدت عجیب و غریب... به مراتب بیشتر از تشکر و قدردانی بوده! حتی یه روز رسید که بعضیها نامه نوشتن به ویتالیک (خالق اتریوم) 😄 که این آدم نباید توی اکوسیستم باشه! خندهداره، ولی واقعی بود 😄 بارها نامه نوشتن به مدیران سوپر ریر، بارها نامه نوشتن به کلهگندههای فارکستر! ولی دردناکترین جاش این بود که همشون ایرانی بودن!!! هموطن بودن!!! این برای من بزرگترین درد بود که افسوس میخوردم چطور جامعهٔ عجیبی داریم! توی گروهها و کانالها مدام برام شات میفرستادن، مدام از حرفها و توهینها... توهین به خودم، تهدید خودم، تهدید برادرم، تهدید خواهرم! مدام پیامهای خصوصی رکیک و به شدت آزار دهنده! خب فکرشو بکن... چطور ممکنه دلت نشکنه؟ چطور ممکنه اشک نریزی به خاطر چنین حجم وحشتناکی از کج فهمی!
❤8⚡1🔥1
ادامه دادم… چون هیچوقت حرف مردم، مانع رسالت من نبود؛ چون اونها با چیزی که خودشون و ذاتِ خودشون بود بقیه رو قضاوت میکردن نه با چیزی که در مورد دیگران واقعیت داشت. من رسالتم خدمات و حل مسائل مربوط به خدماتی بود که میدادم!
من هیچوقت آدم کینهای نبودم و نیستم، اما همهٔ اونهایی که این کارهارو کردن باعث شدن من بیشتر تلاش کنم، چون باعث شدن شناخت بهتری به جامعه داشته باشم چون بهم ثابت کردن که مسیری که اومدم درست بوده.
به هر حال ما نمیتونیم همه رو راضی نگهداریم! این غیر ممکنه!
اما این رو بدون… همیشه کسایی هستن که جلوت سبز میشن تا سد راهت بشن؛ و هیچوقت فکر نکن همهٔ کسانی که تورو دنبال میکنن دوستتن اصلاً اینطور نیست! آرامش رو در یه سطحی به بعد از دست میدی! اما فقط باید جلو بری.
مهم اینه که سعی کنی وقتت رو با حاشیه درگیر نکنی! روی خودت کار کن بذار هرکی هرچی میگه بگه!
تو که خودت میدونی داری چیکار میکنی همین کافیه. 😎👊🏼🔥😌
من هیچوقت آدم کینهای نبودم و نیستم، اما همهٔ اونهایی که این کارهارو کردن باعث شدن من بیشتر تلاش کنم، چون باعث شدن شناخت بهتری به جامعه داشته باشم چون بهم ثابت کردن که مسیری که اومدم درست بوده.
به هر حال ما نمیتونیم همه رو راضی نگهداریم! این غیر ممکنه!
اما این رو بدون… همیشه کسایی هستن که جلوت سبز میشن تا سد راهت بشن؛ و هیچوقت فکر نکن همهٔ کسانی که تورو دنبال میکنن دوستتن اصلاً اینطور نیست! آرامش رو در یه سطحی به بعد از دست میدی! اما فقط باید جلو بری.
مهم اینه که سعی کنی وقتت رو با حاشیه درگیر نکنی! روی خودت کار کن بذار هرکی هرچی میگه بگه!
تو که خودت میدونی داری چیکار میکنی همین کافیه. 😎👊🏼🔥😌
❤7⚡1👍1💯1