Найти в Дзене
nolackin

Как развернуть статические и динамические Dapps с помощью Spheron

Оглавление

Руководства / Создано командой разработчиков Shardeum / 20.10.23

Что такое Spheron?

Spheron - это революционное решение для создания инфраструктуры децентрализованных приложений (dApp). Благодаря обширному набору инструментов и услуг, основанных на Web3 Infra, Spheron позволяет разработчикам соответствовать стремительно развивающимся требованиям цифровой среды. Выходя за рамки традиционных инфраструктур Web2, Spheron предлагает широкий спектр услуг, включая веб-хостинг, хранение данных и вычислительные возможности, и служит жизненно важным компонентом экосистемы Web3. Исключительная производительность Spheron не только конкурирует с аналогами Web2, но и демонстрирует потенциал технологии Web3 для следующего поколения приложений.

Узнайте больше о Spheron из их документации.

Как развернуть статические приложения на Spheron?

Развертывание статических приложений на Spheron - довольно простой и понятный процесс. Достаточно следовать следующим рекомендациям:

  1. Подключите Git-провайдера: Подключение Git-провайдера позволяет Spheron синхронизировать ваши репозитории и запускать развертывание при каждом новом обновлении. Spheron поддерживает следующие Git-провайдеры: Github, Gitlab и Bitbucket.
  2. Настройте проект: Создайте новый проект на Spheron и выберите нужный репозиторий приложений для развертывания.
  3. Выберите протокол развертывания: Выберите желаемый протокол для размещения статического приложения. Spheron поддерживает такие протоколы, как: Arweave, Filecoin и IPFS.
  4. Настройте параметры развертывания: Spheron автоматически определит и настроит большинство этих параметров за вас. Вам необходимо лишь добавить переменные среды в специальном разделе. При необходимости измените остальные параметры в соответствии с вашими требованиями. К ним относятся выбор фреймворка, ветки, корневого каталога, параметров сборки и вывода, а также движка ноды.
  5. Запустите развертывание: После настройки всех необходимых параметров запустите процесс развертывания. Spheron получит ваш код, соберет статические файлы и развернет их по указанному вами протоколу.
  6. Получите доступ к своему приложению: После завершения развертывания вы сможете получить доступ к своему приложению через домен, созданный Spheron. У вас также есть возможность настроить собственный домен для своего приложения.
Ознакомьтесь с нашим руководством по фреймворкам, чтобы получить дополнительную информацию.

Как развернуть динамические приложения/сервера на Spheron?

Развертывание вычислительных экземпляров на Spheron не требует особых усилий, независимо от того, используете ли вы образ Docker из Docker Hub или развертываете приложение в маркетплейсе. Для того чтобы развернуть свой вычислительный экземпляр на Spheron, выполните следующие действия:

  1. Настройте кластер: Создайте новый кластер на Spheron, выбрав опцию Import from Docker Hub или Start from Marketplace App.
  2. Для Docker Hub:
  • Введите имя кластера и докер-образ.
  • Затем добавьте тег и нажмите кнопку Next.
  • Выберите подходящий план экземпляра, который соответствует вашим потребностям, и нажмите Select Plan.
  • Создайте новый Port Mapping. Добавьте порт контейнера и выберите открытый порт, к которому вы хотите его привязать.
  • Добавьте переменные окружения, если они есть. Используйте параметр Secret Key, если значение представляет собой секретный ключ. Если вы включите параметр "Secret Key", он не будет сохранен в базе данных.
  • Выберите желаемый регион, если таковой имеется. Если вы не добавите регион, контейнер будет развернут в любом из регионов.
  • При необходимости можно задать дополнительные настройки.
  • Нажмите кнопку Deploy, чтобы начать развертывание.

3. Для Marketplace App:

  • Выберите нужный шаблон из маркетплейса.
  • Spheron автоматически выберет рекомендуемый тарифный план для конкретного шаблона.
  • Если вы хотите изменить план, нажмите Change Plan.
  • Выберите план экземпляра, который подходит для ваших целей, и нажмите Select Plan.
  • Выберите желаемый регион, если таковой имеется. Если вы не добавите регион, контейнер будет развернут в любом из регионов.
  • При необходимости можно задать дополнительную настройки.
  • Нажмите кнопку Deploy, чтобы начать развертывание.
Ознакомьтесь с нашей документацией по вычислениям для получения дополнительной информации.

Как загрузить данные в IPFS с помощью Spheron SDK?

1. Spheron Storage SDK (для сред Nodejs)

Установка:

npm i @spheron/storage

Использование:

import { SpheronClient, ProtocolEnum } from "@spheron/storage";
const client = new SpheronClient({ token });
let currentlyUploaded = 0;
const { uploadId, bucketId, protocolLink, dynamicLinks } = await
client.upload(
filePath,
{
protocol: ProtocolEnum.IPFS,
name,
onUploadInitiated: (uploadId) => {
console.log(`Upload with id ${uploadId} started...`);
},
onChunkUploaded: (uploadedSize, totalSize) => {
currentlyUploaded += uploadedSize;
console.log(`Uploaded ${currentlyUploaded} of ${totalSize} Bytes.`);
},
}
);

Ознакомьтесь с нашей документацией Storage SDK для получения дополнительной информации.

2. Spheron Browser Upload SDK (для браузеров)

Установка:

npm i @spheron/browser-upload

Использование:

Сервер

Вам нужно настроить веб-сервер с конечной точкой (endpoint), которая будет использоваться фронтендом для получения токена для загрузки.

import { SpheronClient, ProtocolEnum } from "@spheron/storage";
...
app.get("/initiate-upload", async (req, res, next) => {
try {
const bucketName = "example-browser-upload"; // use your
//preferred name
const protocol = ProtocolEnum.IPFS; // use your preferred
//protocol
const token = process.env.SPHERON_TOKEN; // add your access token
//in .env or paste it here
const client = new SpheronClient({ token });
const { uploadToken } = await client.createSingleUploadToken({
name: bucketName,
protocol,
});
res.status(200).json({
uploadToken,
});
} catch (error) {
console.error(error);
next(error);
}
});

Клиент

Вы должны отправить запрос на ваш сервер для создания uploadToken, который будет использоваться для загрузки файлов из браузера.

import { upload } from "@spheron/browser-upload";
...
const response = await fetch(`<BACKEND_URL>/initiate-upload`); // get
//the temporary access token from server
const resJson = await response.json();
const token = resJson.uploadToken;
let currentlyUploaded = 0;
const { uploadId, bucketId, protocolLink, dynamicLinks } = await
upload(files, {
token,
onChunkUploaded: (uploadedSize, totalSize) => {
currentlyUploaded += uploadedSize;
console.log(`Uploaded ${currentlyUploaded} of ${totalSize} Bytes.`);
},
});
...

Ознакомьтесь с нашим Browser Upload SDK для получения дополнительной информации.

Как создавать и развертывать приложения с помощью Spheron CLI?

Установка:

Для Mac и Linux:

Чтобы установить Spheron CLI, выполните следующую команду в терминале:

sudo npm install -g @sharon


Для Windows:

Чтобы установить Spheron CLI, откройте терминал в режиме администратора и выполните следующую команду:

npm install -g @spheron/cli

Использование:

Spheron init

Команда spheron init позволяет инициализировать новый проект Spheron. В текущем пути создается файл spheron.json, описывающий ваш проект. Он будет использоваться командой spheron publish.

Использование

spheron init

После выполнения этой команды появится окно, в котором вы сможете выбрать протокол, добавить имя проекта, добавить путь и выбрать фреймворк. Вот как это будет выглядеть:

? Project name: (Code)
? Upload protocol: (Use arrow keys)
❯ Arweave
Filecoin
IPFS

Spheron publish

Команда spheron publish позволяет загрузить проект, используя конфигурацию, описанную в файле spheron.json вашего проекта.

Использование

spheron publish

Перед выполнением команды `spheron publish` убедитесь, что вы создали production build.

Вот пример того, как будет выглядеть результат:

Spheron CLI 1.0.7
Publishing your dapp to IPFS 🚀
Uploading directory build
Upload started, ID of deployment: 643fce207c3c7a0012df33a7
⠙ Uploading to IPFS
✓ Success! Upload finished !
Here are upload details:
Upload ID: 643fce207c3c7a0012df33a7
Bucket ID: 643fce207c3c7a0012df33a5
Protocol Link: https://bafybeicrjwhn6nifl7tcuhkcitquvpumj426qa7r7ppcya5skmqly5n2la.ipfs.sphn.link
Dynamic Links: https://testapp-edab50.spheron.app

Ознакомьтесь с нашей документацией по CLI для получения дополнительной информации.

Как просматривать и извлекать содержимое IPFS с помощью Spheron?

Выделенные шлюзы

Выделенные шлюзы (Dedicated Gateways) - это шлюзы IPFS, специально разработанные для улучшения доступа к размещенному содержимому по всей сети за счет более высокой скорости и увеличенного лимита по скорости.

Использование выделенных шлюзов дает несколько преимуществ:

  • Повышенная скорость
  • Увеличенный лимит по скорости
  • Whitelabeling шлюз
  • Передача содержимого с любого узла IPFS

Создание выделенного шлюза

Чтобы создать выделенный шлюз, выполните следующие действия:

  1. Войдите в систему Spheron и перейдите в раздел Gateways на панели навигации.
  2. Нажмите кнопку Generater, чтобы создать новый шлюз.
  3. Введите имя шлюза и нажмите кнопку Create.

Как использовать ваш шлюз?

Чтобы получить доступ к контенту через выделенный шлюз, просто выполните следующие действия:

  1. Получите CID (идентификатор содержимого) файла, который вы хотите просмотреть.
  2. Добавьте CID к URL-адресу вашего шлюза в следующем формате:
https://{gateway-name}.spheron.link/ipfs/{cid}

Ознакомьтесь с нашей документацией по шлюзам для получения дополнительной информации.

Дополнительные ресурсы

  • Посетите нашу платформу, чтобы узнать больше.
  • Обратитесь к нашей полной документации для получения подробной информации.
  • Следите за нами в Twitter, чтобы получать последние обновления и новости.
  • Присоединяйтесь к нашему сообществу Discord для получения специализированной поддержки и помощи.

Чтобы узнать больше об этой теме, посетите страницу Spheron для получения подробной информации. https://docs.shardeum.org/storage/spheron

Последнее обновление 6 февраля 2024 года

translated by wh1tearm0r & nolackin

Присоединяйтесь к нам:

Website | Telegram | TelegramRu | Twitter | Reddit | Subreddit | Discord | LinkedIn | MediumRu

#shardeum #криптовалюта #блокчеин #технологии #dApp #крипта