<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Benyamin Abbasi</title>
        <link>https://virgool.io/feed/@Beny_abbasi</link>
        <description>یک مدیر پروژه فعال در حوزه بلاکچین</description>
        <language>fa</language>
        <pubDate>2026-06-10 12:59:05</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/64361/avatar/7mveLc.png?height=120&amp;width=120</url>
            <title>Benyamin Abbasi</title>
            <link>https://virgool.io/@Beny_abbasi</link>
        </image>

                    <item>
                <title>آموزش Solidity (بخش دوم) نوع و ساختار داده ها</title>
                <link>https://virgool.io/@Beny_abbasi/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-solidity-%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85-%D9%86%D9%88%D8%B9-%D9%88-%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7-kyicpwlwwtv7</link>
                <description>قبل از اینکه شروع کنیم، نسخه سالیدیتی را در کد قرارداد هوشمند به روز رسانی کنید تا بتوانیم از امکانات آن استفاده کنیم. البته الان که این مطلب در حال نگارش است، نسخه 0.6.0 برای سالیدیت موجود است ولی ما با 0.5.1 کار می کنیم. لذا اولین خط را به شکل زیر تغییر دهید.pragma solidity ^0.5.1;این کار باعث توسعه همزمان قدرت برنامه نویسی با توسعه سالیدیتی خواهد شد.اکنون، برای جلوگیری از برخی هشدارها در نسخه جدید سالدیتی، function مربوط به get() را به شکل زیر تغییر می دهیم:function get() public view returns(string memory) { 
    return value;
}همین تغییرات را برای function مربوط به set() هم انجام می دهیم:function set(string memory _value) public {
    value = _value;
}فوق العاده، هم کانون کد ما منطبق با تغییرات و به روز است است. در این مرحله در خصوص اصول پایه و انواع داده ها و ساختارهای آنها بررسی کوتاهی داریم. این موارد به شما کمک می کند که استفاده بهتری در هنگام پیاده سازی کد قرارداد هوشمند اتریوم خود داشته باشید.در ابتدا، با state variable شروع می کنیم، سالیدتی امکانات خیلی خوبی برای این نوع از متغیر ارائه داده است. در ابتدا ما value را به state variable اختصاص می دهیم و از عملگر get() برای داده مقدار به آن استفاده می کنیم. سالیدیتی یک روش خیلی ساده برای این کار تعریف کرده که در زیر می بینید:string public value;این روش وضعیت متغیر را به صورت دسترسی public تعریف می کند و این اجازه را می دهد که از خارج از قرارداد هوشمند هم بتوان آن را به صورت دسترسی read بازخوانی کرد. در عمل سالیدیتی عملگر value() را خیلی سریع صدا کرده و دیگر نیازی به استفاده از get() نیست. برای همین خیلی راحت می توان  state variable  به شکل زیر تعریف کرد:string public value = &amp;quotmyValue&amp;quotعملا ما دیگر نیازی به استفاده از عملگر constructor هم نداریم، که باعث کاهش زمان و حجم کد نوشته شده خواهد شد. باز هم می توانیم با تعریف کردن متغیر به شکل ثابت از تغییرهای بعدی آن جلوگیری کنیم، مثل این حالت:string public constant value = &amp;quotmyValue&amp;quotاکنون، باید عملگر set()را حذف کنیم چرا که سالیدیتی به شما اجازه نمی دهد که در حالت constant روی آن تغییری ایجاد شود.آنچه در بالا دیدید مروری بر خلاصه سازی بود که سالیدیتی ایجاد کرده و کار را ساده کرده است. اکنون می توان state variable ها را برای انواع دیگری از داده ها بررسی کنیم. همانطور که در حالت string دیدیم، ما می توانیم میزان عمومی یا visibility را به نام متغییر تخصیص دهیم. برای همین ما با ساختن یک متغیر boolean به شکل زیر شروع می کنیم:bool public myBool = true;این متغییر می تواند true یا false باشد.اکنون یک متغیر عددی integer به شکل زیر می سازیم:int public myInt = 1;متغیر های عددی می توانند مثبت یا منفی باشند. اگر می خواهید اعداد حتما مثبت باشند، از روش زیر استفاده کنید:uint public myUint = 1;حتی ما می توانیم تعداد خاصی از بیت ها را برای اعداد در نظر بگیریم. در مثال بالا به صورت پیش فرض 256 بیت در نظر گرفته شده که به شکل زیر باز شده است:uint256 public myUint256 = 9999;شما می توانید به صورت 8 بیت هم آن را محدود کنید، مثل این:uint8 public myUint8 = 8;Enumsاکنون، بررسی کوتاهی روی ساختار داده سالیدیتی داشته باشیم. در ابتدا به ساختار داده Enum نگاه کنید، این ساختار داده روشی برای نگهداری لیست های تجمیع شده یا enumerated lists است. یک enum در قرارداد هوشمند به شکل زیر است:enum State { Waiting, Ready, Active }به طور مثال، این موضوع می تواند وضعیت active را در قرارداد هوشمند به شکل گزینه های Waiting, Ready, and Activeنشان دهد. ما می توانیم وضعیت فعلی قرارداد هوشمند را از طریق زیر چک کنیم:State public state;اکنون، می توانیم وضعیت پیش فرض در constructor را به شکل زیر تعریف کنیم:constructor() public {
    state = State.Waiting;
}یا اینکه به حالت active تغییر دهیم:function activate() public {
    state = State.Active;
}و در انتها، می توانیم لیست enum را چک کرده و ببینیم که آیا وضعیت قرارداد به صورت فعال است یا خیر؟function isActive() public view returns(bool) {
    return state == State.Active;
}در این مرحله، قرارداد هوشمند ما باید به شکل زیر باشد:pragma solidity 0.5.1;

contract MyContract {
    enum State { Waiting, Ready, Active }
    State public state;

    constructor() public {
        state = State.Waiting;
    }

    function activate() public {
        state = State.Active;
    }

    function isActive() public view returns(bool) {
        return state == State.Active;
    }
}این یک مثال از روشی استفاده از enums بود که بررسی وضعیت را درون قرارداد هوشمند انجام می دهد.در آینده در خصوص استفاده از این عملگر برای قراردادهای هوشمند برگزاری عرضه توکن اولیه یا ICO ها و وضعیت open یا closed آن بیشتر توضیح خواهم داد.Structsسالیدیتی به شما اجازه می دهد که ساختار داده خاص خودتان را به روش Structs بسازید و داشته باشید. به طور کلی شما هر نوع داده ای که بخواهید می توانید مدل کرده و با خاصیت های دلخواه و ترکیبی از انواع داده داشته باشید. یک نگاهی به این ساختار داشته باشیم و از مثال struct people استفاده می کنیم:struct Person {
    string _firstName;
    string _lastName;
}خوب چه کاری کردیم؟ ما &quot;فردی&quot; را مدل کردیم که _firstNameو _lastNameدارد. دقت کنید که ما قادریم هر نوع داده ای که دوست داریم را وارد کنیم. ما از strings برای هر دو attribute استفاده کردیم. در عین حال می توانیم تا 17 ویژگی متفاوت را در اینجا برای هر نوع داده ای داشته باشیم. فعلا سعی کنیم همین طور ساده حفظ کرده و با همین مدل دو attribute برای فرد استفاده کنیم.آرایه ها - Arraysاکنون لازم است که محلی برای ذخیره سازی در این ساختار فرد داشته باشیم، برای همین ما از آرایه استفاده می کنیم. مثال people را به صورت آرایه ببینید:Person[] public people;دقت کردید که ما یک آرایه به نام people را برای people تعریف کردیم. علاوه بر این دسترسی خارجی را به شکل public قرار می دهیم و به وضعیت متغیر people آن را وصل می کنیم. این روش باعث ایجاد عملگری شده که به افراد درون آرایه دسترسی لازم را می دهد. این را باید اشاره می کردم، که بازخوانی عملگر  people()خارج از قرارداد هوشمند کل اطلاعات آرایه را برنمی گرداند. در عوض عملگر people() می تواند argument مثل index را قبول کرده و از این طریق به افراد داخل آرایه بر اساس اجازه دسترسی می دهد. دقت شود که این یک آرایه بر پایه صفر است. برای مثال ما برای دسترسی به اولین نفر در آرایه به این شکل بازخوانی می کنیم:people(0)اکنون، میتوانیم روشی بسازیم که &quot;فرد&quot; جدیدی به این آرایه اضافه کنیم. عملگر  addPerson()را به شکل زیر تعریف می کنیم:function addPerson(string memory _firstName, string memory _lastName) public {
    people.push(Person(_firstName, _lastName));
    peopleCount += 1;
}این عملگر بر اساس ساختار ویژگی های person درخواست های جدیدی را قبول می کند و بعد از آن یک instantiate جدید برای   ایجاد کرده و با استفاده از روش عملگر push به آرایه people اضافه می کند. علاوه بر این وضعیت peopleCount را هم به عدد 1 تغییر می دهد. می توانیم وضعیت متغیر را در قرارداد هوشمند به شکل زیر تعریف کنیم:uint256 public peopleCount;ما از این داده به عنوان cache شمارنده استفاده می کنیم. یادتون که گفتم شما نمی تونید کل آرایه peopleرا با استفاده از عملگر people()بازخوانی کنید؟ با این روش که بدانید چند نفر درون آرایه    هستند، شاید بهتر بتوانیم از عملگر people() برای بازخوانی person استفاده کنیم.خوب الان کد قرارداد هوشمند ما باید به شکل زیر باشد:pragma solidity 0.5.1;

contract MyContract {
    Person[] public people;

    uint256 public peopleCount;

    struct Person {
        string _firstName;
        string _lastName;
    }

    function addPerson(string memory _firstName, string memory _lastName) public {
        people.push(Person(_firstName, _lastName));
        peopleCount += 1;
    }
}Mappingsسالیدیتی یک ساختار داده دیگر هم دارد که عنوان mapping دارد، این ساختار داده به شما اجازه ذخیره سازی زوج کلیدها را می دهد. این ساختار داده شبیه یک آرایه اشتراکی و یا یک جدول هش Hash table در دیگر عملگرها رفتار می کند. ما از mapping به شکل زیر میتوانیم استفاده کنیم:mapping(uint =&gt; Person) public people;این روش mapping را در ساختار person ذخیره می کندو جایگرین آرایه people که در مثال قبل استفاده کردیم. این کلید یک integer امضا نشده است و داده آن به عنوان struct در person استفاده می شود. نوع استفاده از این کلید دقیقا مثل id در پایگاه داده استفاده می کنیم. ما می توانیم struct را در person به شکل زیر به روزسانی و آپدیت کنیم:struct Person { uint _id; string _firstName; string _lastName; }اکنون میتوانیم عملگر addPerson()را برای به روز رسانی و mapping در people به شکل زیر استفاده کنیم:function addPerson(string memory _firstName, string memory _lastName) public {
    peopleCount += 1;
    people[peopleCount] = Person(peopleCount, _firstName, _lastName);
}در این مرحله از cache شمارنده peopleCountبرای ساخت id برای person استفاده میکنیم. بعد این فرآیند یک struct جدید با id پیدا شده برای person ایجاد می کند و ویژگی های آن را هم دریافت و انتقال می دهد. سپس این را به mapping مربوط به people اضافه می کند. قرارداد هوشمند کامل شده به شکل زیر خواهد بود:pragma solidity 0.5.1;

contract MyContract {
    uint256 peopleCount = 0;

    mapping(uint =&gt; Person) public people;

    struct Person {
        uint _id;
        string _firstName;
        string _lastName;
    }

    function addPerson(string memory _firstName, string memory _lastName) public {
        peopleCount += 1;
        people[peopleCount] = Person(peopleCount, _firstName, _lastName);
    }
}عالی. یک مرور کلی روی مفاهیم اولیه انواع داده ها و ساختار داده ها در سالیدیتی داشتیم.در بخش بعدی در مورد عملگرها، modifiers و زمان صحبت میکنیم. برای اطلاعات بیشتر در خصوص انواع ساختار داده ها خود کتابخانه سالیدیتی را بخوانید:https://solidity.readthedocs.io/en/v0.4.24/types.html?highlight=data%20structure</description>
                <category>Benyamin Abbasi</category>
                <author>Benyamin Abbasi</author>
                <pubDate>Sat, 18 Jul 2020 00:10:21 +0430</pubDate>
            </item>
                    <item>
                <title>فیل سفید هر کسب و کار</title>
                <link>https://virgool.io/@Beny_abbasi/%D9%81%DB%8C%D9%84-%D8%B3%D9%81%DB%8C%D8%AF-%D9%87%D8%B1-%DA%A9%D8%B3%D8%A8-%D9%88-%DA%A9%D8%A7%D8%B1-wuqm8lxbfi60</link>
                <description>با یکی از دوستان درحال بررسی پروژه ای بودیم که هزینه و زمان زیادی براش تا حالا شده بود و پیچیدگی های زیادی داره و اصطلاحی که این دوست استفاده کرد، اصطلاح &quot;فیل سفید&quot; بود، که برای خودم خیلی جالب بود، این موارد بررسی های بیشترم راجع به این مفهوم و استفاده ازش خواهد بود:فیل سفید چه معنی ای دارد؟یک فیل سفید به پروژه یا وضعیت ای تلقی می شود که هزینه نگهداری آن هم به صرفه نیست در عین حالی ارزشی هم برای فروش ندارد. از منظر اقتصادی، این عنوان به یک دارایی، سرمایه و یا کسب و کاری تلقی می شود که هزینه عملیات بالایی داشته و نگهداری آن هم به شدت سخت است، در عین حال درآمدی که باید را هم ایجاد نمی کند.ویژگی های کلیدییک فیل سفید مالکیت کمرشکن داشته که هزینه های نگهداری آن انطباقی با ارزش یا استفاده آن ندارد.این عنوان یک اصطلاح تایلندی است که درباره اهدای هدایای نادر، گران قیمتی مثل فیل های سفید به پادشاه سلطنت تلقی می شود.این روزها معمولا به املاک بی ارزش گفته می شود ولی در هر کسب و کاری فیل سفید داریم.تاریخ فیل های سفیدیک فیل سفید یک مالکیت کمرشکن است. در عین حال این مفهوم زمانی به سرمایه گذاری ای تلقی می شود، که در هر صورتی هزینه نگهداری بالا، بدون سود و یا غیرقابل فروش باشد. به بیان دیگر، فیل های سفید نامی است که به سرمایه گذاری های بی ارزشی گفته می شود که بیشتر دردسر دارند تا ارزش.مفهوم فیل سفید نشات گرفته از آسیا است. فیل سفید نماد است که ریشه در فرهنگ مردم &quot;سیام&quot; داشته که اکنون به عنوان کشور تایلند شناخته می شود. این حیوان از گونه ای نادر است که در دوران باستان مقدس شمرده می شده و در صورت وجود به عنوان هدیه به امپراطور حاکم اهدا می شدند.قصه اصلی اینجاست که خود پادشاه هم این فیل ها را به عنوان هدیه خوب یا بد به زیردستان می داد. اگر پادشاه از خدمتکار راضی بود، در کنار فیل به عنوان هدیه، زمینی را هم به خدمتکار اهدا می کرد که باعث می شد به تامین هزینه های فیل کمک کند. اگر هم پادشاه راضی نبود، فیل را بدون زمین اهدا می کرد، که در این حالت هدیه تبدیل به یک هزینه دائمی می شد.مثال هایی از فیل های سفیدفیل های سفید در خصوص پروژه های ساختمانی خیلی شایع هستند، به این مثال ها دقت کنید:ساختمان Empire Stateساختمان امپایراستیت، تا انتهای دهه 1950یعنی چیزی حدود 20 سال بعد از پایان یافتن ساختمان  سودده نبود. با وجود اینکه این ساختمان در دوران رکود اقتصادی آمریکا ساخته شد که سمبل ترقی باشد، هیچ وقت به عنوان یک ساختمان اداری استفاده نشد.در سال 2006 اجاره این ساختمان فوت مربعی 37$ معامله می شد، خیلی کمتر از میانگین اجاره در مرکز نیویورک که 48$ برای هر فوت مربع بود. با این وجود هنوز حدود 18% ساختمان خالی است.هتل Ryugyongهتل ریوگیوگ با در اختیار داشتن پنج رستوران متنوع، بیش از 3.000 اتاق و 105 طبقه به شکل یک آسمان خراش هرمی شکل در پیونگ یانگ کره شمالی ساخته شد.ساخت این هتل که به عنوان بلندترین آسمان خراش تلقی می شد، در سال 1987 شروع شد. برنامه ساخت در سال 1992 بازنگری مجدد شد و با کسری بودجه سنگین متوقف شد. در سال 2008 ساخت پروژه دوباره از سر گرفته شد و در سال 2012 در سالروز تولد رهبر کره بازگشایی شد.با وجود اینکه در سال 2020 هستیم ولی ساختمان در عمل ناتمام بوده و عنوان &quot;هتل نفرین شده&quot; را دارد و به عنوان بلندترین ساختمان ناتمام در جهان شناخته شده است.درک فیل های سفیدطی سالها، اصطلاح فیل سفید عمدتا به املاک و زمین ها گفته می شد. در عصر حاضر، بعضا به مدل اقتصادی رشد آسیایی هم گفته می شود. چین، با کمی تغییرات ریز، با کمی یادگیری از تجربیات ژاپن، یک مدل اقتصادی سرعتی را تعریف کرد که منطق آن تزریف پول و منابع مالی خیلی زیاد ساختارهای سرمایه گذاری تحت کنترل دولت و صادرات این توسعه بود. کارخانه های تولیدی کوچک سازی شده، نرخ سود بانکی همیشه پایین نگهداشته شد، نرخ تبدیل ارز هم به شکل مصنوعی پایین بود تا بتوان کالاهای داخلی ارزان قیمت تولید کرد، راحتتر صادر کرده و گرانتر وارد شود.سیاست های تجاری هزینه بر باعث ایجاد یک انفجار اقتصادی شده که همچنان وابسته به سرمایه گذاری و تزریق منابع بسیار بود. در طول زمان افزایش این هزینه ها باعث که تزریق های بالای سرمایه، حباب های قیمتی گوناگونی رو ایجاد کند.نشریه اکونومیست، پیش بینی کرده که حدود 45% تولید ناخالص ملی GDP چین برپایه سرمایه گذاری است، بسیار بزرگتر از مدل های اقتصادی کشورهای توسعه یافته، لذا پیش بینی می شود که حداقل نیمی از سرمایه گذاری های انجام شده روی پروژه های فیل سفید بوده باشد که در نهایت به شهر ارواح رسیده برگشت سرمایه صفر را ایجاد می کند.فیل سفید در یک کسب و کاربعضا در تحلیل های سازمانی با پروژه ها و یا مواردی روبرو می شویم که فیل های سفید سازمان هستند، کافی است که نمودار ماتریس Risk Reward هر پروژه را تعریف کنیم، مواردی که در قسمت عدم مشارکت و بدون نتجیه هستند و با چالش و ریسک بالا هم همراه هستند فیل های سفید شما هستند.چه میتوان کرد:فروش پروژه به قیمت مناسب و جلوگیری از ضررتغییر اهداف پروژه و بازنگری جدید در مسیر و هزینهتوقف و اعلام شکست در پروژهاز بین بردن کامل پروژه</description>
                <category>Benyamin Abbasi</category>
                <author>Benyamin Abbasi</author>
                <pubDate>Sat, 11 Jul 2020 23:16:04 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش Solidity (بخش اول) زبان قراردادهای هوشمند اتریوم</title>
                <link>https://virgool.io/@Beny_abbasi/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-solidity-%D8%A8%D8%AE%D8%B4-%D8%A7%D9%88%D9%84-%D8%B2%D8%A8%D8%A7%D9%86-%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF%D9%87%D8%A7%DB%8C-%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF-%D8%A7%D8%AA%D8%B1%DB%8C%D9%88%D9%85-yqsc6y2txmxl</link>
                <description>مروری بر Solidityسالیدیتی یک زبان برنامه نویسی برای نوشتن قراردادهای هوشمند روی شبکه بلاکچین اتریوم می باشد. این زبان یک ساختار قرارداد-محور دارد، که یعنی قراردادهای هوشمند مسئولیت ذخیره سازی تمامی منطق برنامه نویسی شده را با تراکنش های بلاکچین دارند. این زبان یک زبان برنامه نویسی high-level است که شباهت بسیاری به زبانی هایی مانند جاوا اسکریپت، پایتون و ++C دارد. این زبان یک هدف اصلی را دنبال می کند و آن هم پیاده سازی روی ماشین مجازی اتریوم یا Ethereum Virtual Machine است که به صورت EVM خلاصه می شود. این ماشین مجازی روی نود (Node) های اتریوم هاست شده و از این طریق به شبکه بلاکچین اتریوم وصل می شود. این زبان به صورت استاتیک نوشته شده و قابلیت هایی مثل موروثی بودن (inheritance)، کتابخانه ها و خیلی موارد دیگر رو شامل می شود. به طور خلاصه تمامی قابلیت ها و ظرفیت های مورد نیاز برای یک نرم افزار بلاکچینی را دارد.تصویر IDE Remix متعلق به شبکه اتریومدر این دوره آموزشی از محیط توسعه Remix برای نوشتن کدها استفاده می کنیم. رمیکس یک IDE برپایه Browser است که به شما اجازه نوشتن، کامپایل کردن و پیاده سازی قراردادهای هوشمند را دارد. علاوه بر این فیچرهای مختلفی مثل ذخیره فایل را هم داراست.با استفاده از Remix ما نیازی به نصب برنامه یا ابزارهای توسعه ای نداریم. می توانید با باز کردن همزمان Remix در تب دیگری این دوره را دنبال کنید.https://remix.ethereum.org/کد سالیدیتی را با باز کردن یک فایل شروع می کنید. شما می توانید از سمت چپ بالای صفحه فایل جدیدی را باز کنید.فایل با عنوان MyContract.sol را ایجاد کنید. در خط اول این فایل، نسخه سالیدیتی که می خواهیم از آن استفاده کنیم را وارد می کنیم:pragma solidity ^0.4.24;در این مرحله قرارداد هوشمد را به شکل زیر می نویسیم:pragma solidity ^0.4.24;
contract MyContract {
    // ...
}چند مورد را قبل از ادامه توضیح بدم. یک قرارداد هوشمند مجموعه ای کدهایی است که روی شبکه اتریوم پیاده سازی می شود. به شکلی شبیه API در microservice ها عمل می کند، با این تفاوت که دسترسی را برای عموم کاربران فراهم می کند. همه کد قراردادهای هوشمند به صورت عمومی در دسترس است و هر کسی می تواند با اتصال به شبکه به قرارداد هوشمند وصل شده و قرارداد را بازخوانی کند. اکنون می توانیم توسعه قرارداد هوشمند را ادامه بدیم. اول از همه، ما یک Storage ساده قرارداد هوشمند را برنامه ریزی می کنیم، تا با استفاده از آن بتوانیم:داده ها را ذخیره کنیمداده ها را بازخوانی کنیمبا ساخت یک رشته داده در قرارداد هوشمند شبیه این تصویر شروع می کنیم و با متغیری به اسم value شروع می کنیم. سالیدیتی یک زبان استاتیک است، برای همین باید در ابتدا نوع متغیر را در زمان تعریف کردن آن مشخص کنیم:pragma solidity ^0.4.24;
contract MyContract {
    string value;

}این متغیر &quot;state variable&quot; نامیده می شود چون دقیقا داده را روی بلاکچین حفظ می کند. هز زمان که داده ای را به این متغیر تخصیص بدیم، رشته ای روی شبکه بلاکچین ثبت می شود. دقت کنیم که این داده روی Storage ذخیره می شود نه روی حافظه (Memory). این متغیر ویژگی دیگری هم دارد، توسط تمام قرارداد هوشمند قابل دسترس است، برعکس local variable هایی که فقط درون function شناسایی می شوند و داده ها را عملکرد function ذخیره نمی کنند، این نوع از متغیر رفتاری کاملا بلاکچینی دارد. در ادامه این دوره مثال های بیشتری را با هم مرور خواهیم کرد.اکنون می توانیم یک function برای بازخوانی داده ذخیره شده بسازیم. در این مرحله function با نام get()  تعریف می کنیم: function get() {
    // ...
}حالا داده دریافت شده را از State متغیر با استفاده از return بازخوانی می کنیم: function get() {
    return value;
}اکنون باید شفافیت یا &quot;visibility&quot; این function را در وضعیت public قرار دهیم تا هر کسی در شبکه بلاکچین بتواند آن را صدا کند (نه فقط خود قرارداد هوشمند):function get() public view {
    return value;
}در انتها، ما نوع داده برگشتی را در حالت string برای function مشخص می کنیم:function get() public view returns(string) {
    return value;
}عالی! حالا باید روشی داشته باشیم که این داده را از قرارداد هوشمند بازخوانی کنیم. در ادامه شما می بینید که چطور این فرآیند کامپایل را انجام می دهیم، ولی قبل از آن باید راهی برای تعریف این داده خارج از قرارداد هوشمند بسازیم. به همین منظور function ای با نام set مانند شکل زیر تعریف می کنیم:function set(string _value) public {
    // ...
}به همین سادگی function ساختیم که argument با نام _value  و از نوع  string دارد. این function علاوه بر اینکه به طور عمومی دیده می شود، توسط تمامی افراد شبکه بلاکچین هم قابل بازخوانی است. حالا به طور عملی می توانیم value قرارداد هوشمند را به شکل زیر به روز رسانی کنیم:function set(string _value) public {
    value = _value;
}در اینجا به شکل خیلی ساده داده را از طریق _valueدریافت کرده و به وضعیت متغیر value نسبت دادیم. دقت کنید که _value توسط یک زیرخط (underline) به سادگی به یک متغیر local تبدیل شده است. این روش تبدیل کردن در زبان سالیدیتی بسیار رایج است. اکنون می توانیم داده ای را به صورت پیش فرض برای وضعیت متغیر value تعریف کنیم. می توانیم این کار را درون constructor function خود قرارداد هوشمند به شکل زیر انجام دهیم: constructor() public {
    value = &amp;quotmyValue&amp;quot
}در ابتدا باید constructor function با عنوان constructor ایجاد کنیم. این function فقط یک بار اجرا شده و دقیقا زمانی که قرارداد هوشمند پیاده سازی می شود. علاوه بر این همیشه باید شفافیت public را داشته باشد.در این مرحله کد ما کامل شده است. با کامپایل کردن و deploy کردن این قرارداد هوشمند آن را تست می کنیم. اول از همه ما نسخه compiler را تعریف می کنیم که در سمت راست browser قرار دارد. به طور مثال نسخه  0.4.25  را برای کامپایل این کد انتخاب کنید.اکنون، محیط مورد نظر را انتخاب می کنیم. به شخصه JavaScript virtual machine را انتخاب میکنم، که به من امکان یک محیط شبیه سازی شده درون browser را می دهد. اکنون می توانیم به سادگی و با یک کلیک کد را deploy کنیم:عالی! شما اولین قرارداد هوشمند خود را پیاده کردید. با بازخوانی function های زیر شما می توانید با مطابق با فرم هایی که تولید می شود با قرارداد هوشمند تعامل داشته باشید.در ابتدا، داده را بازخوانی کنیم. با کلیک گردن روی عملگر get() این اتفاق رخ می دهد. شما باید داده پیش فرض&quot;myValue&quot;که در constructor تعریف شده بود را ببینید.اکنون می توانیم عملگر set()را با داده جدید آپدیت کنیم. داده جدیدی را در فیلد فرم وارد کنید و حتما آن را با quotation وارد کنید مانند:  &quot;New Value&quot;اکنون کد را اجرا کنید و داده جدید را بخوانید، باید به &quot;New Value&quot;تغییر کرده باشد.ممکن است که به پنجره تراکنش که زیر text editor وجود دارد هم دقت کرده باشید. این لیست کاملی از تمامی تراکنش هایی است که در این بلاکچین مجازی Virtual blcokchain وجود دارد. به یاد داشته باشیم، شبکه بلاکچین اتریوم از اتصال رکوردهایی با عنوان بلاک ها که به هم زنجیر شده اند ایجاد شده که یک دفترکل توزیع شده عمومی را ایجاد کند. واحد پایه همه این بلاک ها تراکنش ها هستند. فوق العاده، شما اولین قرارداد هوشمند خود را روی شبکه اتریوم با استفاده از زبان سالیدیتی نوشتید! در قسمت بعدی شما می بینید که از این کد چگونه استفاده کنیم و درباره این زبان بیشتر یاد می گیرید.منبع اصلی: https://www.youtube.com/channel/UCY0xL8V6NzzFcwzHCgB8orQ</description>
                <category>Benyamin Abbasi</category>
                <author>Benyamin Abbasi</author>
                <pubDate>Thu, 09 Jul 2020 23:45:14 +0430</pubDate>
            </item>
                    <item>
                <title>آینده دورکاری، از نظر استارت آپ ها</title>
                <link>https://virgool.io/@Beny_abbasi/%D8%A2%DB%8C%D9%86%D8%AF%D9%87-%D8%AF%D9%88%D8%B1%DA%A9%D8%A7%D8%B1%DB%8C-%D8%A7%D8%B2-%D9%86%D8%B8%D8%B1-%D8%A7%D8%B3%D8%AA%D8%A7%D8%B1%D8%AA-%D8%A2%D9%BE-%D9%87%D8%A7-jkk43tr10nbs</link>
                <description>مهم نیست که کجای دنیا قرار داریم - سیلیکون ولی، لندن و یا آسیا - ویروس کرونا تغییرات زیادی را در زندگی سنتی دفتری ما ایجاد کرده است. حالا که اینقدر خوش شانس هستیم که به صورت دور کاری از خانه کار کنیم، این دغدغه در بین افراد وجود دارد که تجربیات در حال وقوع چه تاثیری روی سطح عملکرد آنها دارد.نمودارهای زیر، گزارش مبسوطی از داده های جمع آوری شده از شبکه استارت آپ های Founders Forum است. در این گزارش از صدها بنیانگذار و اعضای تیم های آنها نظر سنجی شد و در خصوص تجربیات دورکاری آنها و برنامه های آتی بعد از دوران کرونا سئوالاتی پرسیده شد.با وجود اینکه آینده هنوز معلوم نیست ولی مشخص است که استارت آپ ها، برنامه ای برای عقب نشینی از دورکاری ندارند.از کی حرف میزنیم؟تقریبا نیمی از شرکت کنندگان بنیانگذار استارت آپ بوده و حدود یک چهارم هم مدیران کمتر از سطح-C بودند.با توجه به قرینطینه هایی که مرتب رخ داده، 94% افرادی که مطاحبه شدن بیرون از دفتر بودند و حدود 90% این افراد هم با شرایط دورکاری منطبق شده بودند.ژن X و میلینیال ها (Millennial) بیشترین نقش را در شکل گیری این گزارش دارند، حدود 80% افراد هم بین 26 تا 50 سال و 40% هم بین 31 تا 40 سال را سن داشتند.بنیانگذارانی با چشم انداز دورکاریتاریخ ثابت کرده که دنیا همیشه پتانسیل کافی برای تغییرات عظیم و حتی دائمی را دارد. نکته جالب اینجاست که بیشتر شرکت کنندگان در نظر دارند که طی 6 ماه آتی به محل کار خود برگردند، در حالی که استارت آپ ها تصمیم گیری و سیاست گذاری در خصوص برگشت به دفتر را مستقیما منوط به نتایج مروبط به کرونا می دانند.این موضوع چه نقشی در دوران دنیای پسا-کرونا دارد؟با توجه به پاسخ هایی که استارت آپ ها داده اند، سناریو کاری واقع گرایانه می تواند شامل 3 تا 5 روز کار به صورت دورکاری در طول هفته است همزمان با حضور تعداد کمی از پرسنل نسبت به کل تیم.بیش از 92% پاسخ دهنده ها گفته بودند که دوست دارند گزینه کار کرد از خانه یا دور کاری به عنون یک گزینه بالقوه باقی بماند.خیلی مهمه که فرصت یادگیری و تجربه کردن روش جدید کار کردن همچان وجود داشته باشد. همه گیری جدید بیماری کرونا به این فرآیند سرعت داده است. وجه های دیگر این اتفاق را به زودی می توان دید و من مطمون هستم که همه چیز شفاف تر خواهد شد.— Evgeny Shadchnev, CEO, Makers Academyسطح خلاقیت در منزلکار کردن از منزل، سرعت عملکرد این استارت آپ ها را کاهش نداده، حتی در مواردی هم در کل باعث افزاش سرعت هم شده است.بیش از نیمی از پاسخ هایی گفته بودند که خلاقیت در منزل افزایش داشته و 55% هم گفتند که ساعت های طولانی تری را کار می کنند.نتایج جالب ولی بعضا نگران کننده ای وجود دارد.برای افرادی که در منزل فرزند دارند، کار کردن از منزل معمولا انطباق پذیری را سخت می کند. در نتیجه شاید لازم باشد که کارمندان و کارفرماها خطوط قواعد مشخصی را برای کارکردن در منزل داشته باشند، مخصوصا اگر بنای برای طولانی بودن این همکاری است.با این حال به نظر می رسد که نگرانی ها قابل حل باشند و این دغدغه ها در انتها به سئوال های مهمی درباره کارکردن به صورت دورکاری خواهند رسید.تیم ها اطلاعات خوبی را نشان دادندبرای اینکه بهتر بتوان کار از منزل را تحلیل شود، حدود 400 سئوال مرتبط با هم را بررسی کردیم و با بررسی حساسیت (Sentiment) جواب ها الگوهای جالبی بدست آمد.آنچه به وضوح مشخص شد این بود که استارت آپ ها زمان های مورد نیاز برای ارتباط گیری روزانه را از دست نمی دهند. در طول دوران قرنطینه، فرصت های دیگری هم برای افراد ایجاد شد که افراد توانستند آن را با خانواده، آشپزی غذاهای سالم و ورزش کردن پر کنند.دورکاری برای ما فوق العاده بوده - ولی حقیقتا خلاقیت نیازمند جادویی ارتباطات چهره به چهره است و این در تماس های zoom اتفاق نمی افتد. بدون استفاده از هیجان و جان مایه تعاملات دنیای واقعی، دنیا خلاقیت خود را از دست می دهد.— Rohan Silva, CEO, Second Homeآینده یعنی دورکاریدوران قرنطینه و بیماری تعریف جدیدی از زندگی نرمال را ارائه داده که ترکیبی از چالش ها و آرامش است. فعلا به نظر می رسد که روش جدید کار کردن یعنی ادغام شدن با نرم افزارهای جدید.</description>
                <category>Benyamin Abbasi</category>
                <author>Benyamin Abbasi</author>
                <pubDate>Thu, 09 Jul 2020 18:48:56 +0430</pubDate>
            </item>
                    <item>
                <title>تعریفی جدید از CTO: سرپرست ارتقا سازمان</title>
                <link>https://virgool.io/@Beny_abbasi/%D8%AA%D8%B9%D8%B1%DB%8C%D9%81%DB%8C-%D8%AC%D8%AF%DB%8C%D8%AF-%D8%A7%D8%B2-cto-%D8%B3%D8%B1%D9%BE%D8%B1%D8%B3%D8%AA-%D8%A7%D8%B1%D8%AA%D9%82%D8%A7-%D8%B3%D8%A7%D8%B2%D9%85%D8%A7%D9%86-j1kqijxxkkcf</link>
                <description>&quot;زندگی به قبل و بعد از ویروس کرونا تقسیم می شود&quot;این جمله را بارها و بارها در طول روز می شنویم. برای سازمان های بسیاری، زندگی در دنیای بعد از کرونا اهمیت ویژه ای دارد. این سازمان ها با تغییر دادن معماری زنجیره تامین کالاها، با بازتعریف استراتژی های ورود به بازارها و یا حتی با بررسی مجدد نیازهای دفتر کار خود، تنها یک مفهوم را دنبال می کنند: سازمان ها در بیداری بعد از دوران کورونا باید تغییرات دگرگون و بهبود داده شده باشند.برای به ثمر رسیدن این تلاش ها، بد نیست ایده سرپرست دگرگون سازی در سازمان ها را کمی بیشتر بشناسیم و رسمیت بیشتری بهش بدیم. نقش سرپرست ارتقا سازمان (CTO Chief Transformation Officer) دقیقا برای شرایطی این چنینی تعریف شده است. یک سرپرست دگرون سازی، می تواند نگاه کلان مدیریت ارشد سازمان را با شرایط جدید انطباق داده و مطمئن شود که اهداف تعریف شده با آنچه هدف گذاری شده بود هنوز دست یافتنی است. از این مهمتر چنین نقشی می تواند برنامه کلان شرکت (Master Plan) را به تکه های کوچک تقسیم بندی کرده و آنها را به سرانجام برساند، همزمان با نگاه کلان به پروژه های شرکت، آماده رویارویی با دنیای واقعی بند از کرونا باشد.فرآیند تغییر و بهبود یک فرآیند ثابت و دنباله دارفرآیند های بهبود همیشه یک مسیر یکپارچه را طی می کردند، حتی قبل از کرونا، با این حال بحث ایجاد نقش سرپرست دگرگون سازی و تعالی سازمان هیچ وقت به این اندازه رسمیت نداشته اشت. علت چیست؟ سازمان های بسیاری در حال حاضر با تغییرات تخریبگر (Disruptive) تکنولوژی و اجتماعی روبرو شدند. این موضوع شامل رشد شهرنشینی، تغییرات گرمایش زمین، جابجایی های عظیم جمعیتی و انقلاب های رخ داده در تکنولوژی های پیشرفته مثل هوش مصنوعی، رباتیک و 5G می شود.در عین حال واقعیت دیگری هم وجود دارد، تغییرات معمولا هزینه-بر، زمان-بر و سخت هستند. حتی چابک ترین سازمان ها هم در هنگام بهبود و تحول هزینه هایی را باید پرداخت کنند که سنگین هستند. به طور مثال سایت Forbes پیش بینی کرده که 70 درصد تحول های در سطح سازمان های بزرگ با شکست مواجه شده، و این یعنی از دست دادن 900 میلیارد دلار در سال 2018. دلایل محتلفی برای شکست بهبود ها و دگرگون سازی ها وجود دارد. تحقیقی که در سال 2020 سازمان Brigtline انجام داده و با عنوان  Mastering Strategy Implementation in Transformative Times منتشر شد، علت ها عمدتا، کمبود منابع، ضعف تکنولوژی، فاصله بسیار بین توانایی ها و استعدادهای درون سازمان و کمبود فرآیند های سازمانی برای پیاده سازی استراتژی ها بود.  این تحقیق که بین بیش از 1000 مدیر اجرایی در سطح C-Level و بین مدیران جهانی انجام شده، نیازمندی به این عنوان شغلی را پررنگ تر و توجیه پذیر تر می کند. در عین حال، یکی از اصلی ترین پارامترهای موفقیت در یک تحول استراتژیک، رهبری قوی است. Brighline پس از سال ها کسب تجربه در پیاده سازی استراتژی ها، ایجاد یک نقش CTO را به شدت توصیه می کند.استفاده از فرآیندهای استانداردشدهیک CTO می تواند به عنوان یک کاتالیزور فرآیند های اولیه را متحول سازد. این موضوع چرا مهمه چون یکی دیگر از متغیر های اصلی در رسیدن به موفقیت پیاده سازی تحول است. یک CTO می تواند انظباط لازم را برای انجام دادن آن داشته باشد.در انتها داشتن یک CTO می تواند فرصت های جدیدی را خلق کند. سرمایه گذاری در یک نفر که بتواند مسئولیت نگاه کلان تحول سازی سازمان را داشته باشد می تواند خلاهای موجود در سازمان را پر کرده و پتاسنیل های جدیدی را خلق کند. در عین حال می توان مطمئن بود که همیشه یک نفر هست (CTO) که هدف اصلی آن اولیت دادن به موفقیت تحول است.حدود تعریفی در سایت McKinseyCTOs should be independent (certainly not associated with the decisions of the past), have experience of similar turbulent corporate environments in their earlier careers, and enjoy support from the board, the CEO, and top management. Their mandate—responsibility for ensuring that the full bottom-line target gets delivered—must be clearly defined at the outset. They should be fully integrated into the executive team (not sidelined to a separate transformation unit), and their compensation must be linked to performance, with a significant bonus for overdelivery. Ideally, they should behave like an extension of the CEO or even the board and as such be able to hold the top managers accountable.</description>
                <category>Benyamin Abbasi</category>
                <author>Benyamin Abbasi</author>
                <pubDate>Fri, 26 Jun 2020 01:06:09 +0430</pubDate>
            </item>
                    <item>
                <title>بلاکچین، یک توضیح ساده برای شروع</title>
                <link>https://virgool.io/@Beny_abbasi/%D8%A8%D9%84%D8%A7%DA%A9%DA%86%DB%8C%D9%86-%DB%8C%DA%A9-%D8%AA%D9%88%D8%B6%DB%8C%D8%AD-%D8%B3%D8%A7%D8%AF%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D8%B1%D9%88%D8%B9-dzp4koaz0j1z</link>
                <description>حدود دو هفته پیش تصمیم گرفتم که با همکاری باشگاه کارآفرینی تیوان یک کارگاه 4 ساعته با موضوع &quot;کاربردهای غیر مالی بلاکچین&quot; اجرا کنیم که دیروز انجام دادیم. اولین تجربه من توی حوزه بلاکچین بود و خیلی برای خودم جذاب بود.این روزها که بحث رمزارزها و بلاکچین خیلی داغ شده و نه فقط توی ایران که توی کل دنیا داره تغییراتی رو به وجود میاره، به نظرم فقط از سر کنجکاوی هم شده، هر کس باید با این تکنولوژی آشنا بشه.نمیگم عمیق بشیم و نرم افزارها رو بشناسیم ولی خوب حداقل درک کنیم که این شبکه جدید چه فرق هایی با بقیه داره.از شانس بد یا خوب، نمیدونم خودتون انتخاب کنید، ولی بلاکچین با بیت کوین و حوزه مالی به عموم معرفی شد. سال 2008 یه نفری که معلوم نیست کیه اومد یه مقاله ای داد و اسم خودش رو گذاشت ساتوشی ناکاموتو و بیت کوین رو معرفی کرد. بیت کوین یک توکن که قابل تبادل و ارزش گذاری هستش. همین جا اینو نگهدارید من یه چندتا کلمه رو توضیح بدم بعد دوباره ادامه بدیم.توکن: هر واحد دیجیتالی که بتونه معادل یه ارزش قرار بگیره، حالا ارزش میتونه هر چیزی باشه، مثلا معادل پول یا اسناد یا دارایی یا توانایی یا هر چی، ساده تر بخوام بگم، توکن همون کوپن خودمونه، کوپن خرید کالا یعنی این کوپن ارزشی برابر با اون کالایی که میخرید داره، پس توکن شد یه واحد معادل اون ارزش.پول دیجیتال: یه واحد مالی که میتونه پشتوانه داشته باشه یا نداشته باشه ولی مورد اعتماد و معامله یه گروهی قرار میگیره. ارزش پول دیجیتال رو پشتوانه اون یا تقاضای خرید تعیین میکنه. یه مصالی توی کارگاه درم مورد بازی کلش اتفاق افتاد، بازی کلش یه واحد پولی داشت که میتونستید بخرید و استفاده کنید اون توکن خودش بود ولی بعد از یه مدت یه بازار ثانویه هم اتفاق افتاد که محل مبادله اکانت ها شد و اون خارج از اختیارات سازنده های بازی بود و عرضه و تقاضا توی اون بازار قیمت اکانت های بازی رو مشخص میکرد. همین مدل رو توی ذهنتون تا آخر برای هر پول دیجیتال حفظ کنید.بیت کوین: تعریف یک واحد مالی روی یک توکن بود. به همین سادگی. بین افرادی که عضو شبکه بودند هم این پول محل مبادله بود.پس یه توافق بین اعضا برای معامله و تبادل یک توکن ارزش دار بود، حالا که این تیکه رو متوجه شدید من بلاکچین رو توضیح بدم، بالا گفتم که چند نفری از دو نفر تا چند میلیون نفر، با هم قرار میزارن که توی یک شبکه ای با هم معاملاتی رو انجام بدن، هر نوع انتقال داده ای هم شدنی هست، ولی این موضوع که جدید نبود، من و شما هم اگه مصلا میریم فروشگاه بهمون کوپن میده، میتونیم کوپن هامون رو با هم معامله کنیم، چه چیز جدیدی اتفاق افتاد. بلاکچین اتفاق افتاد. لایه تجاری رو من گفتم، این موضوع یه لایه زیرساختی هم داره که بلاکچین اونو شکل داده. مثال میزنم، تا امروز و هنوز هم وقتی افراد میخوان با هم و توی شبکه ای تعامل داشته باشن، همه ما به یک مرکزیتی مثل سایت یا پایگاه داده یا سرور وصل میشیم و از اون طریق با فرد دیگه صحبت میکنیم، یعنی مثلا من وقتی پیامی رو میخوام برای شما توی واتس اپ بفرستم، من به سرور واتس اپ وصل میشم، پیامم میره دست واتس اپ و سرور واتس اپ پیام من رو به شما میرسونه. اوکی؟خوب بلاکچین اومد گفت چرا اینجوری؟ چرا خود افراد با هم تعامل نداشته باشن، چه نیازیه که این همه دادم برن یه جا بعد پخش بشن، این تغییر رو میگن تغییر از سیستم متمرکز به غیرتمرکز یا توزیع شده یا همون بلاکچین یا زنجیره بلوک. باز جلوتر میگم چرا میگن زنجیره بلوک.حالا این جدید بود؟ نه خیلی. شاید بعضی ها که زیادی کامپیوتر باز هستن، شبکه تورنت رو یادشون باشه، هنوز هم هست. یه شبکه است که توی اون من اگه فایلی دارم، مثلا یه فیلمی، اون رو به اشتراک میزارم و اونایی که دوست دارن اون فیلم رو دانلود کنن، از سیستم من مستقیما کپی میکردن، من جایی آپلود نمیکردم. این هم همونه. پس بازم چیز جدیدی نداشت.حالا موضوع جدید ماجرا کجا بود. اونجا که ماهایی که توی شبکه بلاکچین هستیم تصمیم میگیریم با هم یه هدفی رو دنبال کنیم. جامعه ای شکل گرفته ولو کوچک، خوب حالا همه دور هم جمع شدیم، چیکار کنیم؟ معامله. معامله چی؟ هر داده، پول، ثروت، سرمایه، خلاصه هر چیز با ارزشی رو میتونیم. خوب چجوری مطمئن شیم که این معامله درسته؟میتونیم از ریاضی کمک بگیریم.چجوری؟یه تئوری رمز نگاری داریم، که چیکار میکنه؟ که هر فایلی رو از یه عدد گرفته یا فایل های بزرگ و تصویر و غیره بهش بدی ازش یه HASH درسته میکنه میده بیرون. چی هست؟ این یه کد بعضا 256 کاراکتریه که از روی داده های اون فایلی که دادیم درست میشه. خوب خوبیش چیه این کار؟ چندتا خوبی داره: مختص خودشه و تا حدود زیادی Unique تولید میشه و تکراری نمیشهوقتی این هش تولید میشه، اگه فقط یک بایت، یعنی کوچکترین تغییری توی اطلاعات قبلی اتفاق بیافته اون هش عوض میشه.استفاده اش کجاست؟ من وقتی تراکنشی یا کاری انجام میدم، میتونم ثابت کنم که انجام شده و این مثل شماره پیگیری روی رسیدهای بانکی میمونه، این کد مال منه و همه جا هم منم. دوم اینکه هیچ کس دیگه نمی تونه اطلاعات رو عوض کنه، اطلاعات وقتی با این هش تولید شده، باید همین بمونه، اگه اطلاعات عوض شه، هش هم عوض میشه و من دیگه نمیتونم ادعا کنم و حرف رو ثابت کنم.این تراکنش ها و هش در یک بلوک ثبت میشه و هر بلوک تاریخی از انتقال ها رو پشت سر هم داره و مثل یه دفتر حساب داری یا Ledger می مونه که توش رسید همه تراکنش ها رو حسابدار نوشته. هر صفحه این دفتر حسابداری میشه یک بلوک. من میتونم ببینم قبل از من کیا روی این داده من تراکنش یا معامله کردن و جمع بندی همه اینا کنار هم میگن زنجیره بلوک یا بلاک چین. این جدید بود؟ تا حدودی اگه نگیم همون دفتر حسابداری خودمونه که.دیگه چی میتونه جدید باشه. خوب توی این جامعه ای که شکل دادیم، نظم رو شکل دادیم، امنیت ساختیم و هویت ها هم اومدن، حالا اومدیم و خواستیم چیزی رو تائید یا رد کنیم چیکار کنیم. این موضوع جدیدتره توی بلاک چین. در سیستم های متمرکز، مالک نرم افزار، سرور یا هر چیزی که شما بهش وصل میشین، میاد و برای هر تغییری تصمیم گیری می کنه. توی بلاکچین موضوع فرق داره، توی اینا موضوع اصلی اجماع هستش، یعنی اگه بالای 50 درصد اعضا موضوعی رو یا بلوکی یا تراکنشی رو تائید کنن، این موضوع انجام میشه. اگه بهش رای ندن اتفاق نمی افته.پس چهار تا موضوع داشتیم:فضای اشتراکی جدیداجماعرمز نگاریقراردادهای مشترکباعث میشه که هزینه کمتر، کارایی بالاتر و محدوده بزرگتری رو داشته باشیم.</description>
                <category>Benyamin Abbasi</category>
                <author>Benyamin Abbasi</author>
                <pubDate>Fri, 06 Sep 2019 14:18:06 +0430</pubDate>
            </item>
                    <item>
                <title>پیاده سازی بلاکچین روی زنجیره تامین: بلاکچین خصوصی یا عمومی – کدام یک برای شما مناسب است (بخش اول)</title>
                <link>https://virgool.io/@Beny_abbasi/blockchain-supplychain-kg9myubzpt0i</link>
                <description>این روزها شرکت ها بیشتر به اهمیت نقش بلاکچین و تکنولوژی دفترکل توزیع شده (DLT) در روندهای تجاری خود آگاه می شوند، ولی هر چه این روند رو به رشد بیشتر جلو می رود، یکی از بخش های بلاکچین بیش از دیگر بخش ها مورد توجه قرار میگیرد و آن زنجیره تامین است. در سال 2018 یک نظرسنجی بین 1000 نفر از مدیران ارشد اجرایی شرکت ها صورت گرفت و شرکت مشاوره Deloitte متوجه شد که بیش از نیمی از پاسخ ها (53 درصد) زنجیره تامین را به عنوان مورد تجاری مورد نظر خود برای شرکت ها در نظر گرفته و به صورت جدی در حال بررسی پیاده سازی آن هستند. این بخش توانست از حوزه های سنتی تر استفاده از تکنولوژی مانند اینترنت اشیا (51 درصد)، ارزهای دیجیتال (40 درصد) و پرداخت ها (30 درصد) جلو بزند.میزان استفاده از بلاکچینبرای سازمان های زنجیره تامین، راه اندازی پروژه های بلاکچینی جدید، یکی از مهم ترین دغدغه های آنها شده است، چه این موضوع در فضای بلاکچین عمومی یا خصوصی صورت گیرد یا در مدل های مجوزی (permissioned). پیش بینی می شود که تصمیم گیری در این خصوص تاثیر مستقیمی روی پارامترهای بسیتری دارد از جمله روی فرآیند ها و عملیات، امنیت، انطباق پذیری با سیستم های دیگر ذی نفعان شرکت، و شاید از همه مهمتر میزان رقابت پذیری کنونی موقعیت شرکت. بلاکچین خصوصی یا عمومی –کدام یک برای شما مناسب است (بخش اول)این روزها شرکت ها بیشتر به اهمیت نقش بلاکچین و تکنولوژی دفترکل توزیع شده (DLT) در روندهای تجاری خود آگاه می شوند، ولی هر چه این روند رو به رشد بیشتر جلو می رود، یکی از بخش های بلاکچین بیش از دیگر بخش ها مورد توجه قرار میگیرد و آن زنجیره تامین است. در سال 2018 یک نظرسنجی بین 1000 نفر از مدیران ارشد اجرایی شرکت ها صورت گرفت و شرکت مشاوره Deloitte متوجه شد که بیش از نیمی از پاسخ ها (53 درصد) زنجیره تامین را به عنوان مورد تجاری مورد نظر خود برای شرکت ها در نظر گرفته و به صورت جدی در حال بررسی پیاده سازی آن هستند. این بخش توانست از حوزه های سنتی تر استفاده از تکنولوژی مانند اینترنت اشیا (51 درصد)، ارزهای دیجیتال (40 درصد) و پرداخت ها (30 درصد) جلو بزند.میزان استفاده از بلاکچینبرای سازمان های زنجیره تامین، راه اندازی پروژه های بلاکچینی جدید، یکی از مهم ترین دغدغه های آنها شده، چه این موضوع در فضای بلاکچین عمومی یا خصوصی صورت گیرد یا در مدل های مجوزی (permissioned). پیش بینی می شود که تصمیم گیری در این خصوص تاثیر مستقیمی روی پارامترهای بسیتری دارد از جمله روی فرآیند ها و عملیات، امنیت، انطباق پذیری با سیستم های دیگر ذی نفعان شرکت، و شاید از همه مهمتر میزان رقابت پذیری کنونی موقعیت شرکت.تلاش دارم که در این متن نکات بسیار مهمی که در تصمیم گیری بین بلاکچین خصوصی یا عمومی نقش دارند را بررسی کنیم. مواردی شامل بحث هایی به نفع یا رد هر گزینه. لازم است به یاد داشته باشیم که ساختار بلاکچین تنها یکی از پارامترهای راهکار فنی است و موارد دیگری هم نقش دارند.مقایسه شبکه خصوصی و عمومی بلاکچین</description>
                <category>Benyamin Abbasi</category>
                <author>Benyamin Abbasi</author>
                <pubDate>Mon, 26 Aug 2019 17:53:16 +0430</pubDate>
            </item>
            </channel>
</rss>