Какие именно фичи из Bitcoin Core?
Вы же не собираетесь 200 гигов блокчейна хранить, в браузере, и раздавать блоки и синхронизировать их верно?
Моя идея в том, чтобы в браузере сделать только интерфейсную часть. Все остальное не трогать. 200 гигов блокчейна хранятся не в браузере, а в отдельной базе данных. Все как обычно.
В Bitcoin Core есть встроенное АПИ, через которое можно получать и отдавать практически любую информацию, которая может понадобиться в интерфейсе.
Внезапно
Внезапно глянь это.
Но это, как ты отметил ранее - централизованный сервис...
И вот тут что-то не рабочее нашёл, возможно надыбаешь сам исходник.
Похоже, что это API на скриптах, и как я понял, раньше оно работало, когда было подключено к ноде (кошельку с блокчейном и открытым API).
Вот такое HTTP-API - можно было бы внутрь ВСЕХ нод встроить, как у тех же WAVES, что я и показал выше.
Именно HTTP/HTTPS. Чтобы не надо было код писать всякий, и чтобы любая домохозяйка могла разобраться с этим.
То есть, чтобы вот... Заходишь, например, куда-нибудь сюда: https://bitnodes.earn.com/ и видишь там 10000 нод биткоина...
IP:PORT, IP:PORT, и т.д...
Или например просто в консоли Bitcoin Core вводишь команду getpeerinfo,
копируешь любой пир оттуда, и если пир этот - это не клиент подключённый к ноде,
а сервер, то есть нода, к которому подключен этот кошелёк как клиент,
и если порт там, на ноде - открыт во вне,
то просто заходишь туда, на ноду, по адресу: http(s)://IP:PORT/
и внезапно открывается сайт, наподобие этого,
а там команды можно вводить GET-POST-запросами,
смотреть баланс по адресу, можно блоки в JSON смотреть,
можно искать по адресу транзакции,
можно отправлять на ноду RAW-транзакции,
и броадкастить их через неё в децентрализованную сеть...
Ну ты понял...
Мог бы также открываться block-explorer, наподобие этого: https://miner-control.de/explorer/ARC
Но всё это - надо встроить внутрь самой ноды, то есть - внутрь каждого пира.
Вот если такое сделать, то можно будет туда и веб-кошельки цеплять, чтобы они работали с нодами через это API.
Просто в веб-кошельке список нод прописал, и коннектишься к ним.
Стали неактуальны? Другие адреса нод просто ввёл, и работаешь себе дальше, но уже через них.
Так, кстати, работает тот же waves-lite-client (тут исходник), а тут - онлайн версия.
Там, в исходнике, если заметишь, коннект идёт на доменное имя, wavesplatform.com, где размещено API,
но можно и на свою ноду, waves full node всё это дело подключить, прописав http://localhost:PORT/ и без проблем работать через эту ноду.