Документация AltLayer
  • 👋Добро пожаловать
    • Краткий обзор
  • Рестейк роллапы
    • VITAL для децентрализованной верификации
      • Завершенность 1-го уровня
      • Завершенность 2-го уровня
      • Завершенность 3-го уровня
    • MACH для более быстрой завершенности
      • Взаимодействие через MACH
    • SQUAD для децентрализованного секвенсирования
    • Стейкинг токена dApp
  • ♾️АКТИВНО ВАЛИДИРУЕМЫЕ УСЛУГИ С ПОДДЕРЖКОЙ ALTLAYER
    • Краткий обзор
    • AltLayer MACH AVS
      • Руководство для операторов
      • Руководство по обновлению V0.2.3
      • Руководство по пользовательскому делегированию
    • Cyber MACH AVS для Cyber L2
      • Руководство для операторов
      • Руководство по пользовательскому делегированию
    • DODOchain MACH AVS для чейна DODO
      • Руководство для операторов
      • Руководство по пользовательскому делегированию
    • GM Network MACH AVS для GM Network
      • Руководство для операторов
      • Руководство по пользовательскому делегированию
    • Xterio MACH AVS для Xterio Chain
      • Руководство для операторов
      • Руководство по пользовательскому делегированию
  • 🥩Рестейкинг ALT
    • Информация и параметры стейкинга
    • Рестейкинг ALT
    • Делегирование reALT
    • Проверка и клейм вознаграждений за стейкинг
    • Анстейкинг ALT
    • Миграция из пула Xterio (Legacy) ALT Pool в пул Xterio Restaked ALT Pool
    • Тестовый кран reALT
  • ROLLUP-AS-A-SERVICE
    • Что такое Rollup-as-a-Service (RaaS)?
    • Предложение RaaS от AltLayer
    • Руководство по внедрению RaaS
      • Часто задаваемые вопросы по Optimism Rollup
      • Часто задаваемые вопросы по Arbitrum Rollup
    • Экосистема AltLayer
    • Крупнейшие партнеры
    • Модель ценообразования
  • Панель запуска роллапов
    • Начало работы с приборной панелью RaaS AltLayer'а (бесплатная пробная версия)
    • Создание роллапа (Dev tier)
    • Создание роллапа (Restaking Tier)
      • Предварительные действия - рестейк с использованием EigenLayer
      • Запуск пробного флэш-слоя рестейкинга
    • Инструментарий
      • Web IDE
      • FlashGPT
        • Создание флэш-слоя
        • Создание и развертывание смарт-контракта
    • API и SDK
      • Конечная точка и ключ API
      • Создание флэш-слоя
      • Получение информации о флэш-слое
      • Завершение работы флэш-слоя
  • Публичные тестнеты
    • Тестнет OP EigenDA
    • Тестнет OP Avail
    • Тестнет Nitrogen (Orbit Celestia)
    • Тестнет Discovery (Orbit EigenDA)
    • MACH Alpha для inEVM
  • Сторонние интеграции
    • Абстракция счета с использованием Biconomy
    • Доступность данных (DA) с использованием Celestia
    • Обеспечение свободного взаимодействия на роллапах AltLayer с помощью Hyperlane
      • Развертывание Hyperlane Warp Routes для бриджинга токенов ERC20
      • Запуск агентов вне чейна
      • Настройка пользовательского интерфейса моста
    • Кросс-чейн совместимость с помощью Celer
      • Перевод взаимозаменяемых токенов
      • Перевод невзаимозаменяемых токенов
      • Общая передача сообщений
      • cBridge SDK
  • Глубокий анализ роллап стека Altlayer
    • Как работает роллап стек от AltLayer?
    • Децентрализованный набор секвенсоров
    • Защита с помощью доказательств мошенничества
  • типы роллапов
    • Роллапы: флэш-слои
      • Примеры использования
        • События, связанные с минтом NFT
        • Игры
        • Билеты для мероприятий
    • Устойчивые роллапы
  • Ключевые особенности роллап-стека Altlayer
    • Модульность
    • Эластичность
    • Поддержка мульти-VM
    • Доказательства мошенничества
    • Децентрализованные секвенсоры
    • Многоуровневая завершенность
  • показатели
    • Минт Коллекции POAP NFTs от AltLayer
      • Тест производительности в естественных условиях
    • Раунд сообщества в игре Dark Forest
    • Минт коллекции NFT Oh Ottie!
    • Раунд сообщества в игре Dark Forest в рамках мероприятия Jump Crypto's Pit Event
    • Ottie 2048
    • Другие демоверсии
      • Демонстрация доказательства мошенничества
      • Демонстрация флэш-слоя
      • Демоверсия лаунчпада роллапа
      • Демоверсия FlashGPT
  • ход реализации проекта
    • Текущий статус разработки
  • Сообщество и поддержка
    • Сообщество
    • Поддержка
  • Оригинал
Powered by GitBook
On this page
  1. Панель запуска роллапов
  2. API и SDK

Создание флэш-слоя

Запрос

Создайте новый бесплатный пробный флеш-слой.

POST /v1/flashlayer/create

Тело запроса

{
  "flashlayer": {
    "settings": {
      "fcfs": true, // first in first serve mod
      "gasless": true, // gasless
      "blockTime": "0.5", // block time in sec
      "tokenSymbol": "ETH", // token symbol
      "blockGasLimit": "70000000", // block gas limit in wei
      "tokenDecimals": "18", // token decimals
      "genesisAccounts": [ // list of genesis accounts
        {
          "account": "0x55085B2Fd83323d98d30d6B3342cc39de6D527f8",
          "balance": "21000000000000000000000000"
        },
        {
          "account": "0x9434e7d062bF1257BF726a96A83fAE177703ccFD",
          "balance": "21000000000000000000000000"
        }
      ]
    },
    "name": "freetrial" // flashlayer name
  },
  "freeTrial": true
}
{
  "restakingTrial": true,
  "walletSign": {
    "address": "<Your restaking address>",
    "sign": "<Payload signature>",
    "ts": "<timestamp>"
  },
  "flashlayer": {
    "name": "<flashlayer name>",
    "settings": {
      "tokenDecimals": "18",
      "genesisAccounts": [
        {
          "account": "0x55085B2Fd83323d98d30d6B3342cc39de6D527f8",
          "balance": "21000000000000000000000000"
        },
        {
          "account": "0x9434e7d062bF1257BF726a96A83fAE177703ccFD",
          "balance": "21000000000000000000000000"
        }
      ],
      "blockGasLimit": "70000000",
      "gasless": true,
      "fcfs": true,
      "tokenSymbol": "ETH",
      "blockTime": "1"
    }
  }
}

Для генерации секции walletSign можно воспользоваться следующим фрагментом кода

```
const { ethers } = require("ethers");

const provider = new ethers.providers.JsonRpcProvider();

const privateKey = `<your private key>`;
const wallet = new ethers.Wallet(privateKey, provider);

async function sign() {
  var ts = Math.round(+new Date() / 1000);
  const domain = {
    name: "Altlayer Launchpad",
  };
  const types = {
    WalletSign: [
      { name: "ts", type: "uint256" },
      { name: "address", type: "address" },
    ],
  };
  const value = {
    ts: ts,
    address: wallet.address,
  };
  const signature = await wallet._signTypedData(domain, types, value);
  console.log("ts:", ts.toString());
  console.log("address:", wallet.address);
  console.log("sign:", signature);
}

sign();
Свойство
Тип
Описание

fcfs

bool

Где режим обработки транзакций - в порядке живой очереди или приоритетный газовый аукцион

gasless

bool

Установлена ли цена сетевого газа в размере 0

blocktime

float

От 0,5 до 60

tokenSymbol

string

От 2 до 6 символов

blockGasLimit

uint

От 30 000 000 до 60 000 000

tokenDecimals

uint

Рекомендуется поддерживать значение не более 18 десятичных знаков

genesis

list

Список счета и балансов генезиса

name

string

Название флэш-слоя

От 2 до 12 символов, строчных и не начинающихся с цифр

freetrial

bool

Установите значение true для использования бесплатной пробной версии

restakingTrial

bool

Установите значение true для использования версии рестейкинга

Ответ

{
  "flashlayer": {
    "name": "freetrial",
    "status": "STATUS_INITIALIZING",
    "settings": {
      "blockTime": 0.5,
      "gasless": true,
      "fcfs": true,
      "genesisAccounts": [
        {
          "account": "0x55085B2Fd83323d98d30d6B3342cc39de6D527f8",
          "balance": "21000000000000000000000000"
        },
        {
          "account": "0x9434e7d062bF1257BF726a96A83fAE177703ccFD",
          "balance": "21000000000000000000000000"
        }
      ],
      "tokenDecimals": "18",
      "tokenSymbol": "ETH",
      "blockGasLimit": "70000000"
    },
    "resources": {
      "rpc": "https://flashlayer.alt.technology/freetrial",
      "explorer": "https://explorer.alt.technology?rpcUrl=https://flashlayer.alt.technology/freetrial",
      "faucet": "https://faucet.alt.technology?chainId=10000001",
      "chainId": "10000001",
      "rpcWs": "wss://flashlayer.alt.technology/freetrial"
    },
    "createdAt": "2023-08-03T10:13:27.491183Z",
    "id": "1",
    "tier": "FLASHLAYER_TIER_FREE_TRIAL",
  }
}

## /v1/flashlayer/create
curl -X "POST" "https://dashboard-api.alt.technology/v1/flashlayer/create" \
     -H 'Content-Type: application/json' \
     -H 'Accept: application/json' \
     -H 'Authorization: Bearer {access_token}' \
     -d $'{
  "freeTrial": true,
  "flashlayer": {
    "name": "freetrial",
    "settings": {
      "tokenDecimals": "18",
      "genesisAccounts": [
        {
          "account": "0x55085B2Fd83323d98d30d6B3342cc39de6D527f8",
          "balance": "21000000000000000000000000"
        },
        {
          "account": "0x9434e7d062bF1257BF726a96A83fAE177703ccFD",
          "balance": "21000000000000000000000000"
        }
      ],
      "blockGasLimit": "70000000",
      "gasless": true,
      "fcfs": true,
      "tokenSymbol": "ETH",
      "blockTime": "0.5"
    }
  }
}'
package main

import (
	"fmt"
	"io"
	"net/http"
	"bytes"
)

func sendV1FlashlayerCreate() {
	// /v1/flashlayer/create (POST https://dashboard-api.alt.technology/v1/flashlayer/create)

	json := []byte(`{"freeTrial": true,"flashlayer": {"name": "freetrial","settings": {"tokenDecimals": "18","genesisAccounts": [{"account": "0x55085B2Fd83323d98d30d6B3342cc39de6D527f8","balance": "21000000000000000000000000"},{"account": "0x9434e7d062bF1257BF726a96A83fAE177703ccFD","balance": "21000000000000000000000000"}],"blockGasLimit": "70000000","gasless": true,"fcfs": true,"tokenSymbol": "ETH","blockTime": "0.5"}}}`)
	body := bytes.NewBuffer(json)

	// Создание клиента
	client := &http.Client{}

	// Создание запроса
	req, err := http.NewRequest("POST", "https://dashboard-api.alt.technology/v1/flashlayer/create", body)

	// Заголовки
	req.Header.Add("Content-Type", "application/json")
	req.Header.Add("Accept", "application/json")
	req.Header.Add("Authorization", "Bearer {access_token}")
## /v1/flashlayer/create
curl -X "POST" "https://stg-dashboard-api.alt.technology/v1/flashlayer/create" \
     -H 'Content-Type: application/json' \
     -H 'Accept: application/json' \
     -H 'Authorization: Bearer {access_token}' \
     -d $'{
  "freeTrial": true,
  "flashlayer": {
    "name": "freetrial",
    "settings": {
      "tokenDecimals": "18",
      "genesisAccounts": [
        {
          "account": "0x55085B2Fd83323d98d30d6B3342cc39de6D527f8",
          "balance": "21000000000000000000000000"
        },
        {
          "account": "0x9434e7d062bF1257BF726a96A83fAE177703ccFD",
          "balance": "21000000000000000000000000"
        }
      ],
      "blockGasLimit": "70000000",
      "gasless": true,
      "fcfs": true,
      "tokenSymbol": "ETH",
      "blockTime": "0.5"
    }
  }
}'
	// Запрос на получение данных
	resp, err := client.Do(req)
	
	if err != nil {
		fmt.Println("Failure : ", err)
	}

	// Считывание тела ответа
	respBody, _ := io.ReadAll(resp.Body)

	// Отображение результатов
	fmt.Println("response Status : ", resp.Status)
	fmt.Println("response Headers : ", resp.Header)
	fmt.Println("response Body : ", string(respBody))
}// Некий код
# Установите библиотеку Python Requests:
# `pip install requests
#!/usr/bin/python3
import requests
import json


def send_request():
    # /v1/flashlayer/create
    # POST https://dashboard-api.alt.technology/v1/flashlayer/create

    try:
        response = requests.post(
            url="https://dashboard-api.alt.technology/v1/flashlayer/create",
            headers={
                "Content-Type": "application/json",
                "Accept": "application/json",
                "Authorization": "Bearer {access_token}"
            },
            data=json.dumps({
                "freeTrial": True,
                "flashlayer": {
                    "name": "freetrial",
                    "settings": {
                        "tokenDecimals": "18",
                        "genesisAccounts": [
                            {
                                "account": "0x55085B2Fd83323d98d30d6B3342cc39de6D527f8",
                                "balance": "21000000000000000000000000"
                            },
                            {
                                "account": "0x9434e7d062bF1257BF726a96A83fAE177703ccFD",
                                "balance": "21000000000000000000000000"
                            }
                        ],
                        "blockGasLimit": "70000000",
                        "gasless": True,
                        "fcfs": True,
                        "tokenSymbol": "ETH",
                        "blockTime": "0.5"
                    }
                }
            })
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')py
PreviousКонечная точка и ключ APINextПолучение информации о флэш-слое

Last updated 10 months ago

Пожалуйста, убедитесь, что ваш адрес прошел повторную проверку в тестнете Eigenlayer. Дополнительную информацию можно найти в разделе

Предварительные действия - рестейк с использованием EigenLayer