Установка
На текущий момент установке подлежат следующие модули:
- @spatium/sdk - основной пакет Spatium SDK, содержащий логику протокола и основной криптографии.
- @spatium/signer-client - вспомогательный пакет, содержащий специфические компоненты для работы SDK cо Spatium Signer Service
Доступ
Оба пакета доступны в приватном NPM регистре Spatium (логин и пароль можно получить напрямую у команды Spatium):
npm login --scope=@spatium --registry=https://files.spatium.net/repository/npm-public-sdk
npm notice Log in on https://files.spatium.net/repository/npm-public-sdk
Username: sdk-distribution-user
Password:
Email: (this IS public)
Logged in as sdk-distribution-user on https://files.spatium.net/repository/npm-public-sdk.
Установка
Yarn:
Для корректной установки в .yarnrc
нужно добавить следующее:
Затем, в проекте:
NPM:
Для корректной установки нужно добавить в .npmrc
:
Затем, в проекте:
Подключение
Данный сниппет позволит проверить корректность подключения, в нем происходит регистрация новой пары секретов и синхронизация публичного ключа.
import {
uuid,
randomBytes,
generateDistributedSecret,
syncDistributedEcdsaKey,
} from '@spatium/sdk';
import { SignerClient, ServiceStorage } from '@spatium/signer-client';
const test = async () => {
const client = '783c8beb-5820-40a7-84f8-776acb67407c';
const secretId = '205ad897-1def-47d3-8b4e-24a49f7deb3e';
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwZXJtaXNzaW9ucyI6WyJyZWFkIiwid3JpdGUiXSwiaWF0IjoxNjgzOTY1NDI4fQ.-O3z_QIDTnbj2MhcDEcN9JN6et6YDIE-b3kh3fhMYrg';
const storage = new ServiceStorage('https://cloud.spatium.net/storage/v1', token, client);
const signer = new SignerClient('https://cloud.spatium.net/signer/v1', token, client, storage, 10 * 1000);
try {
await signer.connect(10 * 1000);
await generateDistributedSecret(signer, secretId);
const publicKey = await syncDistributedEcdsaKey(signer, secretId, uuid(randomBytes), 'secp256k1', 0, 0);
console.log('Your public key is', publicKey);
} finally {
await signer.disconnect();
}
};