Предполагаю, что почти все из вас уже слышали о Bitcoin, Ethereum и других криптовалютах с забавными названиями. Сейчас они на пике популярности, и буквально не вылазят из новостных лент и форумов, а бесконечные споры о том, «лопнет или не лопнет», «вырастет или упадёт» увлекают не хуже скачек и казино… Но что при этом делать нам — Java-разработчикам? Как нам взаимодействовать со всеми этими модными штуками? Всё просто: нужные библиотеки для Java уже есть! С их помощью вы вполне можете воспользоваться преимуществами модного тренда. Порядок появления библиотек в статье связан с количеством звёзд в Github-репозитории.
#1. BitcoinJ
Ссылка на репозиторий GitHub: https://github.com/bitcoinj/bitcoinj Больше информации о библиотеке/откуда загружать: https://bitcoinj.github.io/Название говорит само за себя, не так ли? Если вы думали над тем, как создать биткоин-кошелёк и управлять транзакциями между нодами, вам определённо стоит попробовать BitcoinJ. Проект уже оброс активным сообществом и очень хорошей документацией, благодаря чему он и привлекает разработчиков.
Разумеется, как и у большинства open source-проектов, которые только начинают завоёвывать популярность, у BitcoinJ есть ряд недостатков. Например, проблемы с безопасностью, связанные с открытыми багами и проблемами масштабируемости. Тем не менее, данная библиотека очень полезна каждому желающему понять, как работает протокол биткоинов. Выскажу личное мнение: для коммерческих проектов BitcoinJ пока что не слишком подходит.
#2. Web3j
Ссылка на репозиторий GitHub: https://github.com/web3j/web3j Больше информации о библиотеке/откуда загружать: https://web3j.io/Буду краток: Ethereum, вторая в списке самых популярных криптовалют. Проект Web3j позволяет работать с блок-цепочкой Ethereum без необходимости писать собственный код для интеграции. Библиотеку можно использовать для Java- и Android-приложений. Опять же, основные функции — создание кошелька, управление транзакциями, и на этот раз ещё и обёртки для смарт-контрактов. Да, именно так, обёртки для смарт-контрактов! Часть проекта Ethereum — особый язык под названием Solidity, который де-факто является стандартом для создания смарт-контрактов. Обёртки смарт-контрактов web3j используются, если вы хотите избежать деталей реализации для работы со смарт-контрактами. Кроме того, библиотека оснащена отличной документацией со множеством примеров. Лично для меня web3j — фаворит этого топа.
#3. HyperLedger Fabric
Ссылка на репозиторий GitHub: https://github.com/hyperledger/fabric-sdk-java Больше информации о библиотеке/откуда загружать: https://www.hyperledger.org/Эта библиотека заточена в первую очередь под бизнес-использование. HyperLedger Fabric следует рассматривать как мощный инструмент, независимо от того, хотите ли вы создать энтерпрайз-приложение или прототип небольшой программы. Проект активно развивают участники фонда Linux. Основное внимание уделяется созданию и управлению смарт-контрактами. Ключевые особенности:
- управление каналами для обмена конфиденциальной информацией;
- политики одобрения транзакций;
- согласованная доставка транзакций в сети.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ