Как скачать библиотеку .js?
Побуду немного промт инженером.
Смотри, тут есть важный нюанс:
у bitcoinjs-lib нет готового официального минифицированного browser-бандла (типа dist/bitcoinjs.min.js) для версии 7.0.0. Рекомендованный способ — собрать свой минифицированный бандл (Webpack/esbuild/Rollup) и уже его подключать на страницу.
Ниже дам готовый, достаточно надёжный и оптимизированный вариант «под ключ».
---
1. Фиксируем версию 7.0.0 в проекте
package.json:
{
"dependencies": {
"bitcoinjs-lib": "7.0.0"
},
"devDependencies": {
"esbuild": "^0.24.0"
}
}
Установка:
npm install
---
2. Делаем браузерный entry-файл
src/bitcoin-entry.js:
// Импортируем ВСЁ из bitcoinjs-lib
import * as bitcoin from "bitcoinjs-lib";
// Кладём в глобальное пространство, чтобы использовать в обычных <script>
window.bitcoin = bitcoin;
---
3. Сборка минифицированного бандла (надёжный и быстрый вариант через esbuild)
Скрипт в package.json:
{
"scripts": {
"build:bitcoin": "esbuild src/bitcoin-entry.js --bundle --minify --target=es2019 --outfile=public/js/bitcoinjs-lib-7.0.0.bundle.min.js"
}
}
Сборка:
npm run build:bitcoin
На выходе у тебя будет файл:
public/js/bitcoinjs-lib-7.0.0.bundle.min.js
– минифицированный, с tree-shaking, и жёстко привязанный к версии 7.0.0.
---
4. Код подключения на страницу (надёжный, оптимизированный)
Пример HTML:
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>BitcoinJS Demo</title>
</head>
<body>
<h1>BitcoinJS 7.0.0 test</h1>
<!-- 1. Подключаем СВОЙ минифицированный бандл -->
<script src="/js/bitcoinjs-lib-7.0.0.bundle.min.js" defer></script>
<!-- 2. Работаем с ним уже после загрузки -->
<script>
document.addEventListener("DOMContentLoaded", () => {
// window.bitcoin задан в bitcoin-entry.js
const bitcoin = window.bitcoin;
// Пример: создать случайный P2PKH-адрес
const keyPair = bitcoin.ECPair.makeRandom();
const { address } = bitcoin.payments.p2pkh({ pubkey: keyPair.publicKey });
console.log("Generated address:", address);
});
</script>
</body>
</html>
Почему это надёжно и оптимизировано
1. Никаких сторонних «левых» CDN-бандлов (типа bitcoinjs-lib-browser старых версий) — только официальный bitcoinjs-lib@7.0.0 + твой собственный сборочный процесс.
2. Версия жёстко зафиксирована в package.json → обновление происходит только когда ты сам хочешь.
3. Минификация и tree-shaking через esbuild → минимальный вес и быстрее загрузка.
4. Всё крутится вокруг одного минифицированного файла, который ты контролируешь и можешь хэшировать, кэшировать, обслуживать через свой CDN и т.д.
---
То есть все твои хотели из-за непонимания принципов работы современного фронтенда.
Там уже больше 10 лет есть компиляторы is кода.
И они обязательны к использованию
Назад