• С чего и как начать углубляться в сферу разработки под блокчейн и криптовалюты?

    EvgenyMamonov
    @EvgenyMamonov
    Senior software developer, system architect
    > решил посмотреть в сторону разработки сервисов для криптовалют и стартапов на базе блокчейна
    Как я понимаю речь идёт о создании децентрализованных приложений.

    Сначала нужно разобраться с предметной областью, начать можно с этого roadmap https://github.com/OffcierCia/DeFi-Developer-Road-Map

    Хорошая книга Имран Башир: Блокчейн: архитектура, криптовалюты, инструменты разработки, смарт-контракты

    Как минимум для создания децентрализованных приложений, нужно разбираться в разработке смарт-контрактов под нужные вам блокчейны. Советую начать с блокчейна эфира.

    Лучше начать изучение с этой книги:
    Фролов - Создание смарт-контрактов SOLIDITY для блокчейна
    После её прочтения у вас начнёт складываться картина.

    Потом, я бы посоветовал прочесть Бурков - Ethereum работа с сетью, там много примеров смарт-контрактов, реально добавит понимания.
    Правда эти две книги уже устарели, синтаксис сейчас уже немного отличается, но альтернативы пока не знаю.

    Ну и, прочитать полностью все материалы на этих сайтах
    https://ethdocs.org/
    https://docs.soliditylang.org/
    https://web3js.readthedocs.io/

    А дальше, уже в зависимости от того, как будет работать ваше приложение прокачивать нужные направления.

    Если приложение будет работать в броузере - нужно будет прокачать front-end разработку.
    Вот хороший roadmap по frontend разработке https://roadmap.sh/frontend

    Если это будет мобильное приложение - значит мобильную разработку.
    Для мобильной разработки рекомендую использовать Flutter, на нём можно сделать приложение сразу и под iOS и под Android, но при этом оно будет нормально и быстро работать.

    Надо отметить, что разработка смарт-контрактов, front-end, mobile - это три разных специальности.
    Обычно front-end и мобильный разработчик - это разные люди, которые участвуют в разработке проекта.

    Также надо сказать, что смарт-контракты делаются достаточно быстро (ERC-20 токен можно сделать и опубликовать за несколько минут). В реальности, конечно, всё сильно зависит от ваших задач, но в целом объём работы не соизмерим с front-end/mobile.

    Скорее всего зарабатывать стабильные деньги разработкой только смарт контрактов вряд ли получится.
    Ответ написан
  • Как хранятся числа в памяти?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    struct Data {
      short id;
      double val;
    };


    я понимаю что 32 00 11 49 - это интовское значение

    в этой структуре short int, 2 байта. 0x32 0x00 -- это оно (0x32 + 256 * 0x00 = 50), little endian.
    0x11 0x49 -- это мусор. 0x02 0x56 0x00 0x00 идущие дальше -- это тоже мусор.
    0x33 0x33 0x33 0x33 0x33 0x33 0xf3 0x3f -- это double (0x3ff -- порядок, 0x3333333333333 -- мантисса, значение = 0x1.3333333333333 * 2 ^ (0x3ff - 1023) = 1.19999999999999995559), little endian, ieee754.

    Как в данном выводе понять где выравнивание происходит?

    Можно воспользоваться макросом offsetof.
    Ответ написан
    5 комментариев
  • Как правильно установить gRPC c++?

    @4rtzel
    Попробуйте:
    git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
    cd grpc
    git submodule update --init
    
    make
    sudo make install # <<< установка grpc
    
    cd third_party/protobuf
    make && sudo make install

    И не забудьте, что pkg-config должен быть установлен до вызова этих команд, а также другие зависимости.

    Можно проверить что всё установилось правильно следующим образом:
    pkg-config --libs grpc
        -L/usr/local/lib -lgrpc
    
    pkg-config --libs protobuf
        -L/usr/local/lib -lprotobuf -pthread -lpthread
    Ответ написан
    Комментировать