📝 Еженедельный отчет: BlockPay, Stealth, Ledger Nano S, graphenej, смарткойн кошелек (kenCode)
Приветствую вас!
Давайте же скорее приступим к делу.
Статус попытки захвата BitShares Munich IVS:
Вчера все адвокаты и @onceuponatime попросили меня подождать еще одну неделю, прежде чем я сделаю большое заявление или обнародую еще больше негативной информации о сами-знаете-ком, о которой я недавно упоминал, и я решил, что удовлетворю их просьбу.
Из хороших новостей (помимо заявления в датский суд) могу сообщить, что сами-знаете-кто был смещен из Комитета Bitshares:
Поскольку сами-знаете-кто до сих пор не показал нам бухгалтерскую отчетность и не оплатил долги, счета и т.д., мне пришлось настроить новые серверы (еще раз спасибо onceuponatime). Эти серверы теперь онлайн, о чем я расскажу ниже. Github также отправил мне электронное письмо и сообщил, что пару месяцев назад он прекратил оплачивать приватные репозитории, поэтому эти репозитории теперь являются публичными.
Дело снова набирает обороты, в новой группе в telegram уже более 150 человек, включая представителей BlockPay, так что заходите, пообщаемся!
Поверьте, я так же озабочен ситуацией, как и вы. Как, собственно, и моя семья, для которой это было абсолютным кошмаром. Будьте уверены, я делаю всё, что могу, и мы всё преодолеем.
Хорошо, давайте теперь посмотрим на горы кода этой недели! :)
BlockPay:
На этой неделе мы работали над более тесной интеграцией новой библиотеки graphenej, а также над начальными шагами по интеграции дополнительных мостов и новым мастером установки, о котором я уже говорил. Установка с помощью мастера будет содержать максимум 3 шага и реализована с помощью простого ViewPager и кастомного индикатора.
Первым шагом будет создание/импорт аккаунта Bitshares, необходимого для использования приложения. Второй шаг будет включать в себя только выбор актива для вывода (валюты, удобной продавцу). И, наконец, третий шаг будет включать в себя настройку и наполнение залога/поручителя в аккаунте моста, чтобы даже транзакции в медленных монетах, таких как Dogecoin и Bitcoin, проходили за 3 секунды.
Помните, от клиента к клиенту в течение максимум 8 секунд. BlockPay должен быть быстрее и безопаснее, чем наличные. Поэтому есть необходимость в поручителе, чтобы покупателям с медленными монетами не нужно было стоять у прилавка в течение часа, пока биткойн проводит транзакцию. ;)
Всё, кроме 3-го шага, является обязательным, и приложение будет блокировать переход, если текущий шаг не был завершен. Если пользователь покинет приложение, не закончив шаг, он снова будет возвращен на этот шаг. По умолчанию выбрано два актива – «Smartcoins» и «Bitcoin». Продавец имеет право позже добавить больше монет (например, Steem, SBD, Dash и т.д.) или даже удалить Биткойн.
Весь Мастер установки был добавлен в один коммит. Этот код по-прежнему содержится в отдельной ветке, и после моего одобрения он будет объединен с веткой разработки.
Он еще не очень хорош, и я хочу немного изменить порядок шагов, но вот альфа доказательство концепции:
Stealth:
Работа над Stealth тоже идет хорошо, и надеюсь, на этой неделе мы закончим автоматическое резервное копирование. Затем мы сможем официально запустить C-IPFS на моем github. Мы также заметно продвинулись в работе над шлюзом и его API, что можно увидеть здесь:
https://github.com/kenCode-de/c-ipfs/commit/f7ddfa0088333b7b790e4d3beb271bf85b149a35
https://github.com/kenCode-de/c-ipfs/commit/bde4d4debef355e1794c90b4b531f43c773c61fd
https://github.com/kenCode-de/c-ipfs/commit/5941a3593a31a84604d38f96f34b413454f396c1
Мы исправили потокобезопасность и обработку прямых запросов, нужно еще обновить кодирование кусков, но мы можем продолжить без нее и вернуться к этому позже, так как это нужно нам только для передачи больших файлов и сохранения их совместимости с go-ipfs, но не для мелких запросов, таких как Stealth транзакции.
Мы также закончили протокол bitwap. В процессе добавления этого протокола мы также смогли зачистить старый код и упростить некоторые методы. Это несколько увеличивает время тестирования, но зато отладка проходит быстрее, что можно считать компромиссом.
На этой неделе мы внесли в код тонну изменений. Некоторые из них незначительные, другие довольно крупные.
Вот их краткий список:
Добавлены твики в c-multiaddr для сравнения адресов:
https://github.com/kenCode-de/c-multiaddr/commit/c2f2c0c2da6d90195ee1ff65c11ed7b94aca74bb
В некоторых областях библиотеки c-libp2p добавлены сравнения, а также произведена чистка кода:
Реализация протокола bitwap, тоже с чисткой:
https://github.com/kenCode-de/c-ipfs/commit/a63910e0d7bcbdc441171211b7524fa3d04ba6a2
https://github.com/kenCode-de/c-ipfs/commit/5507937bffccdbc999a51dad7ec1119b98254c2f
https://github.com/kenCode-de/c-ipfs/commit/4368e052e2f8cd828ef25a7abad0cfce155a1613
https://github.com/kenCode-de/c-ipfs/commit/9924d5dcf7433f416176ee319828f401eab24ef0
https://github.com/kenCode-de/c-ipfs/commit/3a8a85e62824497868988697d1cb6c8bb05a30ab
https://github.com/kenCode-de/c-ipfs/commit/108792ca4401d4a18b0086a938a136a83abb5bc0
https://github.com/kenCode-de/c-ipfs/commit/692d3406c88ea3ccce1fe1b0d8094a1855cfd0f9
https://github.com/kenCode-de/c-ipfs/commit/10aa932e08dccf4e0dc813a61f2ccdd18f719ccc
https://github.com/kenCode-de/c-ipfs/commit/e1135fef3bd5249fac9414472087420a7a97f560
https://github.com/kenCode-de/c-ipfs/commit/73d7d5daede7624cd00c3a1abf5a26e191fcba74
https://github.com/kenCode-de/c-ipfs/commit/b3bb857f3a0a1283f5250e0883f4278487417649
Тестнет будет запущен на наших новых серверах, как описано ниже. Кстати, @full-steem-ahead упомянул о правовых аспектах использования открытого кода Confidential Assets (CA) от Blockstream в будущем. Если среди вас есть адвокат, желающий заверить нас, что использование этого открытого исходного кода (с сохранением их лицензии, конечно) не обернется для нас ловушкой, я предлагаю ему баунти в 500 SBD за эту работу и PDF. Смотрите наши комментарии по этому поводу здесь.
Ledger Nano S:
Да, наконец-то холодное хранилище для ваших активов Bitshares готово! :)
- Осмотр/изучение Nano S Secure SDK (https://github.com/LedgerHQ/nanos-secure-sdk)
- Файлы заголовков и функции библиотеки C для приложений BOLOS
- Техническая документация BOLOS (http://ledger.readthedocs.io/en/latest/)
- Осмотр/изучение Python API для связи с устройствами Ledger (https://github.com/LedgerHQ/blue-loader-python)
- Установление связи с устройством Nano с помощью метода Python HIDDongleHIDAPI.exchange().
- Демонстрация образца исходного кода blue-app-helloperso, где показано извлечение адресов BIP-32 из сида приватного ключа.
- Пересмотр всех репозиториев в LedgerHQ для оценки их актуальности в текущем проекте.
Сначала мы сделаем простую реализацию концепции CLI кошелька (я также опубликую про него видео на YouTube), и если позволят средства, сделаем для него хороший пользовательский интерфейс. Теперь, когда коммуникация работает, некоторая часть кода интерфейса начинает появляться в моем github:
https://github.com/kenCode-de/ledger-nano-s-bitshares
Graphenej (для разработчиков мобильных приложений):
На этой неделе мы, наконец, закончили весь код переходов между нодами и код всех юнит тестов. Мы провели над graphenej обширную работу, чтобы мы и другие команды разработчиков могли использовать его в других мобильных приложениях на graphene. Надеюсь, вам понравится! :) Смотрите коммиты здесь:
https://github.com/kenCode-de/graphenej/commit/158c9604b889611d4d9b40aaa08a7b5ecb008fb1
https://github.com/kenCode-de/graphenej/commit/cadcca0230a67f0d6f6fd6df58c1073f9e742a8f
https://github.com/kenCode-de/graphenej/commit/7b7fd6e74ae22ee8f2c45e07be741540267e6b01
https://github.com/kenCode-de/graphenej/commit/7c05b8d3dbf3ef7469f588738546e22950ac5ce3
https://github.com/kenCode-de/graphenej/commit/c66ed9968176a6416528a413e745298c0fefcfcb
Смарткойн Кошелек:
Код фаусета нуждался в серьезном обновлении после нашего перехода на graphenej, вот соответствующие коммиты:
https://github.com/kenCode-de/smartcoins-wallet/commit/e717281fbaf317be0bea4490c29a1fb1677fd407
https://github.com/kenCode-de/smartcoins-wallet/commit/d2796af1f53aac2f28a4232f92e268e804edf424
Мы также привели наш стиль кода в соответствие со стандартами Android, а также добавили комментарии к 33-50% кода, чтобы после того, как мы, наконец, запустим doxygen, наши онлайн-документы были намного более читаемы.
Я довольно строг в этом отношении, потому что в последнее время я получил довольно много предложений от разработчиков, которые хотят помочь с нашими продуктами и проектами :)
Работа над кодом анимации Carbon (Smartcoins Wallet v2.0), интеграцией 6 блокчейнов, поддержкой NFC, интеграцией C-IPFS и добавлением моста начнется в конце следующей недели. Просто хочу, чтобы вы знали, что мы собираемся серьезно заняться этой частью.
Новые серверы, полные ноды.
Наши новые серверы должны поддерживать полные ноды 6 цепей, что та еще задача. Кроме того, есть еще Icinga (был Nagios), спам-фильтр на сервере электронной почты и т.д.
Для успешной работы нод с таким количеством нагрузки необходима масса оперативной памяти и места на жестком диске (пока мы не сможем позволить себе больше серверов).
Мы свернули ноду Bitshares в докер и находимся в процессе тестирования (ну, на самом деле, выжимаем из них всё, что можем) остальных полных нод. На прошлой неделе у нас возникла проблема с первым сервером – он перезапустился без видимой причины. Мы связались с нашей службой поддержки, и нам сказали, что это происходит и с другими клиентами, поэтому мы расследуем, что произошло, чтобы избежать конфликтов в будущем.
Сейчас этот перезапуск сервера повлиял только на наш фаусет и ноды альткойнов. Но это не повлияло на ноду Bitshares. В Docker мы создали Dockerfile (сценарий для создания образа Linux) и docker-compose (сценарий для использования этого linux определенным образом).
В Dockerfile есть все необходимое для создания образа linux с приложениями, необходимыми для установки работающей ноды Bitshares на любой компьютер (с совместимостью с виртуализацией).
Docker-compose использует этот образ и запускает ноду bithares в определенном порту (фактически, он отображает любой порт на 8090 в запущенном образе).
Наконец, мы создали каталог с данными ноды bithares (который занимает ~ 6ГБ). Этот каталог отображается непосредственно в образе. Это означает, что когда нода начинает работать, ей не нужно синхронизировать всё заново, она просто использует то, что уже синхронизировано, и загружает только то, что осталось синхронизировать (отправляя в тот же каталог). И в истинном стиле докера, эта нода эфемерна и может быть заменена в любое время.
На этой неделе мы начали тестирование кода Dash InstantSend. После этого нам еще нужно проверить код создания аккаунта и сделать так, чтобы Carbon (Smartcoins Wallet v2.0) использовал новые ноды и шесть блокчейнов :)
Вакансия: Знаете ли вы какого-нибудь опытного C/C ++ разработчика? Распространите инфу об этой вакансии и получите 100% апвоут! :) Просто дайте ему/ей эту ссылку и поделитесь ею в социальных сетях:
https://steemit.com/bitcoin/@kencode/4qb3h8-hiring-experienced-c-developer-wanted
У меня есть еще 2 вакансии, которые откроются на следующей неделе или около того, так что просто подпишитесь на меня здесь, на steemit, чтобы получать все свежие новости. Я как раз собираюсь запустить еще пару проектов. Оба они тоже очень выгодны, поэтому следите за обновлениями!
Спасибо за внимание!
Оригинал поста: ЗДЕСЬ