Pull to refresh
38
0
Илья Свирин @isvirin

User

Send message

Короткий путь создания собственной инфраструктуры для NFT

Reading time 10 min
Views 5.4K

В мире блокчейна и NFT я с незапамятных времен, но так сложилось, что я, как правило, делал достаточно сложные решения. И когда в какой-то момент возникла необходимость создания банального набора NFT токенов в рамках одной незначительной части очередного большого проекта, я подумал, что уж наверняка в эпоху, когда только ленивый не кричит про web3, есть куча решений, которые позволят мне легко и непринужденно, не изобретая велосипедов, решить мою более чем скромную задачу. Каково же было мое удивление, когда такого решения не нашлось! Одни проекты предлагали оформить подписку, другие предлагали создавать токены на базе непонятных смартконтрактов с неприлично широкими правами владельцев этих смартконтрактов. И никто не предложил полноценного решения, которое бы без непонятных лишних костов запустило бы для меня мой собственный смартконтракт, которым бы безраздельно владел я и только я, и предоставило инструментарий для загрузки и хранения контента токенов в какое-нибудь децентрализованное решение, типа IPFS. Было принято решение устранить эту несправедливость и через несколько недель появился MintMe Global, который мы с радостью дарим миру, внося свой посильный вклад в светлое web3 будущее.

Читать далее
Total votes 10: ↑8 and ↓2 +6
Comments 11

Как закопать и найти клад на Solidity

Reading time 5 min
Views 3.3K

Ни для кого не секрет, что блокчейн является весьма публичной системой, а значит, вся попадающая в него информация, становится незамедлительно доступна всем желающим. Это делает реализацию, казалось бы, простой игровой механики «загадать – дать поотгадывать – дать правильный ответ» не такой уж тривиальной задачей, т.к. на этапе «загадать» можно случайно сообщить всем правильный ответ. Если интересно, как мы это сделали на Solidity, читай под катом.

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 4

Смарт контракты Ethereum: что делать при ошибке в смартконтракте или техники миграции

Reading time 7 min
Views 10K
При написании смартконтрактов важно помнить, что после загрузки в блокчейн, они уже не могут быть изменены, а следовательно, не могут быть внесены какие-либо улучшения или исправлены какие-то найденные ошибки! Все мы знаем, что ошибки есть в любой программе, а вернувшись к написанному пару месяцев назад коду мы всегда найдем, что там можно улучшить. Как же быть? Единственно возможный вариант – это загрузить новый контракт с исправленным кодом. Но как же быть, если на базе имеющегося контракта уже выпущены токены? На помощь нам приходит миграция! За последний год я попробовал много разных техник ее реализации, проанализировал применяемые в других крупных блокчейн проектах и что-то поизобретал сам. Подробности под катом.

Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 0

Смарт контракты Ethereum: пишем простой контракт для ICO

Reading time 7 min
Views 29K
В последнее время ко мне поступает огромное количество запросов за помощью в разработке смартконтракта для проведения ICO, при этом у меня не хватает времени, чтобы помочь каждому. Поэтому я решил написать этот небольшой пост (ссылка на видео в конце поста), в котором описываю очень простой смартконтракт для проведения crowdsale, который вы можете использовать в своих проектах.


Читать дальше →
Total votes 35: ↑31 and ↓4 +27
Comments 83

Смарт контракты Ethereum: структурируем токены как акции

Reading time 9 min
Views 28K
В настоящее время идет настоящая волна хайпа криптовалют и череда успешных ICO самых разнообразных проектов, в том числе имеющих весьма сомнительное или не имеющих вообще никакого отношения к децентрализации и другим базовым принципам блокчейн. В ходе ICO на продажу широкой публике выставляются некие виртуальные сущности – токены. Наполнение этих самых токенов какой-либо реальной «ценностью», как правило, уникально для каждого проекта. В рамках данной статьи я хочу рассмотреть структурирование токена как «акции», когда держатель этих токенов претендует на получение дивидендов от проекта, пропорционально имеющемуся у него проценту токенов от общей эмиссии. Это создает целый ряд правовых коллизий и неопределенностей, поэтому на сегодня нет ни одного крупного проекта, построенного по этой логичной и понятной для инвесторов модели, но юридические аспекты мы вынесем за скобки и остановимся лишь на технической реализации.
Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Comments 9

Рецепты против взаимных блокировок на сигнальных переменных

Reading time 5 min
Views 22K
Доброго времени суток, уважаемые Хабраюзеры!

Этим постом я продолжаю серию статей, направленных на борьбу за чистоту и безопасность разрабатываемых многопоточных программ.

Рисунок 1 – Взаимная блокировка 1-го рода с участием сигнальной переменной.

В рамках этого поста мы рассмотрим проблемы, которые возникают при использовании сигнальных переменных, и покажем, как их можно избежать.
Читать дальше →
Total votes 45: ↑41 and ↓4 +37
Comments 12

Российский центр программирования в Дубне уходит под воду!

Reading time 2 min
Views 46K
20 апреля 2013 года на официальном Портале Наукограда Дубна появилась новость с устрашающим названием «Паводок развивается по самому тревожному сценарию». Вот небольшая цитата из нее:
На очередном заседании оперативного штаба Глава города В.Э. Прох сообщил: «К сожалению, паводок развивается по самому тревожному сценарию, идет очень мощный сброс воды с Иваньковского водохранилища. Сегодня вода подступила к критической отметке уровня – уже частично затоплены садоводческие товарищества, в т.ч. «Заря», «Заря -1», «Дубна», вода вплотную подступает к жилым домам. В таких условиях, с целью защиты населения, я вынужден был объявить режим чрезвычайной ситуации.


Думаю, вы поймете наше беспокойство, если я скажу, что именно в Дубне находится место, называемое Российским центром программирования, в котором, собственно, находится центр разработки нашей группы компаний и большая часть наших корпоративных ресурсов!
Читать дальше →
Total votes 98: ↑81 and ↓17 +64
Comments 76

Два простых правила для предотвращения взаимных блокировок на мьютексах

Reading time 6 min
Views 57K
Здравствуйте, уважаемые Хабраюзеры!

Так сложилось, что это третий пост в блоге нашей компании, и, как и первые два, он посвящен вопросам многопоточного программирования и проблемам, которые при этом возникают. Получилось так неслучайно, ведь мы на собственной «шкуре» испытали, что ситуации, возникающие при написании многопоточных программ, невероятно сложны для отладки, так как во многом определяются динамикой работы программы на конкретной аппаратной платформе. Уверен, что большинство программистов сталкивались с ситуацией, когда программа, которая прекрасно работает на одном компьютере, на другом совершенно неожиданно начинает дедлочиться практически «на ровном месте».
Читать дальше →
Total votes 82: ↑73 and ↓9 +64
Comments 50

Pthread_cond_timedwait: проблема, решение, дискуссия

Reading time 4 min
Views 15K
Здравствуйте, уважаемые Хабраюзеры!

Продолжая серию постов по многопоточному программированию, хочется коснуться одной фундаментальной проблемы использования сигнальных переменных в Linux, к сожалению, не имеющей пока красивого универсального решения (а может оно просто неизвестно мне). Многие, к сожалению, даже не догадываются о том, что такая проблема имеет место быть.

Рассмотрим простой пример использования сигнальной переменной:

struct timeval now;
struct timespec timeout;
gettimeofday(&now, 0);
timeout.tv_sec = now.tv_sec + 2;      // 2 sec
timeout.tv_nsec = now.tv_usec * 1000; // nsec

retval=0;
pthread_mutex_lock(&mutex);
while(!somethingHappens() && retval==0)
{
    retval=pthread_cond_timedwait(&condition, &mutex, &timeout);
}
pthread_mutex_unlock(&mutex);


Читать дальше →
Total votes 35: ↑30 and ↓5 +25
Comments 37

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity