Хуки React
Пакет bitsocial-react-hooks дає звичний для React API у вигляді хуків для роботи з протоколом Bitsocial. Він бере на себе завантаження стрічок, коментарів і профілів авторів, керування акаунтами, публікацію вмісту та підписку на спільноти — і все це без опори на центральний сервер.
Ця бібліотека є основним інтерфейсом, який використовують 5chan та інші клієнтські застосунки Bitsocial.
Наразі bitsocial-react-hooks підключають безпосередньо з GitHub, а не з npm.
Встановлення
Оскільки пакета ще немає в npm, встановлюйте його безпосередньо з GitHub, закріплюючись за конкретним хешем коміту:
yarn add https://github.com/bitsocialnet/bitsocial-react-hooks.git#<commit-hash>
Замініть <commit-hash> на той коміт, який вам потрібен.
Огляд API
Хуки згруповані за функціональними категоріями. Нижче наведено найуживаніші хуки з кожної категорії. Повні сигнатури, параметри й типи, що повертаються, дивіться в повному довіднику API на GitHub.
Акаунти
Керування локальними акаунтами користувача, ідентичністю та налаштуваннями.
useAccount(accountName?)— повертає об’єкт активного (або вказаного на ім’я) акаунтаuseAccounts()— повертає всі акаунти, збережені локальноuseAccountComments(options?)— повертає коментарі, опубліковані активним акаунтом
Коментарі
Отримання окремих коментарів і гілок обговорення та взаємодія з ними.
useComment(commentCid?)— завантажує один коментар за його CIDuseComments(commentCids?)— завантажує кілька коментарів одним пакетомuseEditedComment(comment?)— повертає найновішу відредаговану версію коментаря
Спільноти
Отримання метаданих і налаштувань спільноти.
- Хук пошуку однієї спільноти — завантажує спільноту за адресою
- Хук пошуку кількох спільнот — завантажує одразу кілька спільнот
- Хук статистики спільноти — повертає кількість підписників і дописів
Автори
Пошук профілів авторів і супутніх метаданих.
useAuthor(authorAddress?)— завантажує профіль автораuseAuthorComments(options?)— повертає коментарі конкретного автораuseResolvedAuthorAddress(authorAddress?)— перетворює зрозумілу людині адресу (наприклад, ENS) на адресу протоколу
Стрічки
Підписка на стрічки вмісту та їх посторінкове завантаження.
useFeed(options?)— повертає посторінкову стрічку дописів з однієї або кількох спільнотuseBufferedFeeds(feedOptions?)— заздалегідь буферизує кілька стрічок, щоб вони швидше відображалисяuseAuthorFeed(authorAddress?)— повертає стрічку дописів конкретного автора
Дії
Публікація вмісту та операції запису.
usePublishComment(options?)— публікує новий коментар або відповідьusePublishVote(options?)— віддає голос «за» або «проти»useSubscribe(options?)— підписує на спільноту або скасовує підписку
Стани та RPC
Спостереження за станом підключення та взаємодія з віддаленим демоном Bitsocial.
useClientsStates(options?)— повертає стан підключення клієнтів IPFS/pubsub- Хук налаштувань RPC — повертає поточну конфігурацію демона RPC
Розробка
Щоб працювати над бібліотекою хуків локально:
Вимоги: Node.js, увімкнений Corepack, Yarn 4
git clone https://github.com/bitsocialnet/bitsocial-react-hooks.git
cd bitsocial-react-hooks
corepack enable
yarn install
Команди для тестування та збірки шукайте у файлі README цього репозиторію.
Посилання
- GitHub: bitsocialnet/bitsocial-react-hooks
- Ліцензія: GPL-2.0-only