Resumen y configuración de Sidekick
Sequence Sidekick ofrece un backend completamente equipado, aprovechando la infraestructura de Sequence para leer y escribir en la blockchain a través de una API sencilla.
Características principales 🚀
Configuración sin complicaciones
Puede usar nuestra imagen pública de Docker o iniciarlo en modo de desarrollo con una configuración mínima.
Opciones flexibles de wallet
Utilice una Sequence Smart Wallet con claves privadas gestionadas localmente o integre de forma segura AWS/GCP KMS para mayor seguridad.
Gestión de webhooks
Aproveche nuestro indexador de alto rendimiento para crear y configurar sus propios webhooks personalizados mediante el eficiente Sequence Indexer.
Integración con Tenderly
Utilice Tenderly para depurar fácilmente sus transacciones; obtiene una URL de simulación para cada transacción ejecutada a través de Sidekick.
Verificación automática de contratos
Verificar contratos es tedioso, Sidekick lo hace por usted en cada contrato desplegado.
Integrado con Sequence Builder
¿Ya tiene un proyecto en Sequence Builder? Importe todos los datos de sus contratos a Sidekick con una sola llamada a la API.
Panel integrado de Bull MQ
Cree, monitoree y gestione sus tareas en segundo plano.
Swagger UI
Explore la documentación de la API y pruebe los endpoints con Swagger UI
Ejecución de transacciones optimizada
Las transacciones se envían con precios de gas óptimos y se reenvían automáticamente si no se incluyen en el mempool en tres bloques.
Analítica y monitoreo
Sidekick viene integrado con Grafana, Prometheus y Blackbox Exporter para monitorear la salud de su backend.
Acerca del backend wallet
Sidekick crea una Sequence Smart Contract Wallet basada en el EVM_PRIVATE_KEY
que usted proporciona, lo que permite patrocinio de gas, agrupamiento y otras optimizaciones.
Para configurar el backend wallet, puedes:
- Declara tu EVM_PRIVATE_KEY en el archivo .env para una configuración local (no recomendado para producción)
- Usa el método recomendado: configura AWS o GCP KMS y agrega las credenciales necesarias en el archivo .env.
Para saber cuáles son las credenciales requeridas para configuraciones de wallet local, AWS o GCP, consulte el archivo env.example.
Asegúrese de elegir los tipos de clave correctos en AWS KMS y GCP KMS.
- AWS KMS:
ECC_NIST_P256_KEY_ALIAS
- GCP KMS:
GCP_KEY_RING_NAME
Sidekick está diseñado para integrarse perfectamente con AWS y GCP KMS, permitiéndole usar su propio firmante KMS. Hemos desarrollado adaptadores que hacen que AWS/GCP KMS sean compatibles con el tipo de firmante de ethers, asegurando compatibilidad con la última versión.
Sequence Sidekick brinda a los desarrolladores una solución backend escalable y lista para usar para aplicaciones basadas en blockchain, permitiéndole enfocarse en el desarrollo de su aplicación sin complicaciones de backend.
Inicie con Docker desde la CLI
Hay una imagen pública de Docker disponible en GitHub Container Registry.
Esto permite iniciar un backend local de Sidekick en el puerto 7500 con las funciones mínimas.
Recomendamos configurar también SEQUENCE_PROJECT_ACCESS_KEY, pero para pruebas proporcionamos una por defecto; puede obtener la suya en Sequence Builder.
Inicie Sidekick en modo de desarrollo
Clone el repositorio de Sidekick
Configure las variables de entorno requeridas
Variables de entorno requeridas
Variable | Description |
---|---|
PROJECT_ACCESS_KEY | Clave de acceso de Sequence Builder API Keys |
EVM_PRIVATE_KEY | Clave privada para la EOA utilizada para firmar transacciones |
Variables de entorno opcionales
Variable | Description |
---|---|
PORT | Puerto para el servidor de Sidekick (por defecto: 7500) |
HOST | Dirección del host para el servidor (por defecto: 0.0.0.0) |
REDIS_HOST | Host del servidor Redis (por defecto: localhost) |
REDIS_PORT | Puerto del servidor Redis (por defecto: 6379) |
REDIS_PASSWORD | Contraseña para el servidor Redis (opcional) |
DATABASE_URL | Cadena de conexión PostgreSQL para la base de datos de Sidekick |
SIDEKICK_API_SECRET_KEY | Clave secreta requerida para acceso de escritura a la API de Sidekick |
ETHERSCAN_API_KEY | Clave de API para Etherscan para habilitar la verificación de contratos |
VERIFY_CONTRACT_ON_DEPLOY | Habilite la verificación automática de contratos al desplegar (establezca en true para activar) |
DEBUG | Habilite el registro de depuración (establezca en true para salida detallada) |
SIGNER_TYPE | Tipo de firmante a utilizar (local, aws_kms, google_kms) |
AWS_REGION | Región de la cuenta AWS |
AWS_ACCESS_KEY_ID | ID de clave de acceso de AWS |
AWS_SECRET_ACCESS_KEY | Clave secreta de acceso de AWS |
AWS_KMS_KEY_ID | ID de la clave KMS a usar |
PROJECT | Nombre del proyecto GCP |
LOCATION | Ubicación del proyecto GCP |
KEY_RING | Nombre del key ring |
CRYPTO_KEY | Nombre de la clave criptográfica |
CRYPTO_KEY_VERSION | Versión de la clave criptográfica |
Variables de configuración del wallet
Elija una de las siguientes configuraciones:
Para wallet local:
Variable | Description |
---|---|
SIGNER_TYPE | local |
EVM_PRIVATE_KEY | 0x… |
Para AWS KMS:
Variable | Description |
---|---|
SIGNER_TYPE | aws_kms |
AWS_REGION | Región de la cuenta AWS |
AWS_ACCESS_KEY_ID | ID de clave de acceso de AWS |
AWS_SECRET_ACCESS_KEY | Clave secreta de acceso de AWS |
AWS_KMS_KEY_ID | ID de la clave KMS a usar |
Para GCP KMS:
Variable | Description |
---|---|
SIGNER_TYPE | google_kms |
PROJECT | Nombre del proyecto GCP |
LOCATION | Ubicación del proyecto GCP |
KEY_RING | Nombre del key ring |
CRYPTO_KEY | Nombre de la clave criptográfica |
CRYPTO_KEY_VERSION | Versión de la clave criptográfica |
Asegúrese de tener Docker instalado
Descárguelo desde aquí
Inicie Sidekick en un contenedor Docker
Verifique la dirección de la backend wallet
Modo desarrollador sin Docker
Si desea hacer cambios en el código y probarlos sin Docker
Esto ejecutará Sidekick y también iniciará un servidor Redis.
Gas Sponsorship
En testnet, patrocinamos todas las transacciones. Sin embargo, en mainnet, usted querrá asegurarse de patrocinar las transacciones para que se procesen correctamente patrocinando el propio contrato. Puede ver más detalles en nuestra solución de Gas Sponsorship para aprender cómo hacerlo.