Skip to content

Add Template / Edit Template ​

Add template abre o wizard de criação de template dentro do projeto. Este wizard ajuda a montar um cenário de subscrição para o utilizador por cima de triggers já existentes: descrever o template, definir inputs, criar topics e ligar cada topic a triggers através de rules.

A edição de um template existente usa o mesmo processo, mas o formulário abre com valores já guardados.

Antes de criar um template, normalmente vale a pena preparar os triggers: criá-los manualmente através de Add trigger / Edit trigger ou gerá-los através de Import triggers. Um template não cria triggers sozinho. Usa triggers que já existem no projeto.

Step 1. Metadata ​

Neste passo são definidos os principais dados do template. Eles aparecem ao utilizador na aba Templates do projeto e ajudam a perceber para que cenário o template foi criado.

Template title ​

Título visível do template. É melhor mantê-lo curto e significativo: por exemplo Token transfers, Governance events, Validator activity.

Template name ​

Slug interno do template dentro do projeto. É formado a partir do title, mas pode ser editado manualmente.

Name deve ser estável: é usado em URL e nas ligações de topics/rules. Depois de publicar um template, é melhor não alterar name sem necessidade.

Description ​

Descrição do template. Aqui vale a pena explicar que alerts o utilizador poderá receber através deste template e quando deve escolhê-lo.

Step 2. Inputs ​

Neste passo descrevem-se os inputs que o utilizador vai preencher ao criar uma subscription através do template.

Inputs nem sempre são necessários. Se um topic não exige parâmetros do utilizador e todas as rules usam condições fixas, o template pode não ter inputs.

Se um input for usado numa rule através de Use inputs, o utilizador terá de o preencher no subscription wizard.

Input ​

Cada input descreve um valor disponível para os topics/rules deste template.

Name ​

Nome técnico do input. É usado nas rules como inputs.<name>, por isso deve ser curto, estável e claro.

Type ​

Tipo de valor que o utilizador vai introduzir.

Tipos disponíveis:

  • string - string normal;
  • number - número;
  • boolean - true/false;
  • null - valor vazio;
  • object - objeto com campos aninhados;
  • array - array de valores do mesmo tipo;
  • tuple - array com um conjunto fixo de elementos;
  • address - blockchain address;
  • balance - token/native balance;
  • currency - valor monetário.

Para a maioria dos template inputs, é melhor escolher tipos simples. Quanto mais simples for o input, mais claro será para o utilizador criar uma subscription.

As restantes propriedades do input são configuradas através do mesmo schema editor usado em Add trigger / Edit trigger. Aí são descritas metadata dos campos, configurações de address/balance e estruturas aninhadas para object, array e tuple.

Step 3. Topics ​

Neste passo é apresentada a lista de topics dentro do template e as ações para os gerir.

Um topic é uma opção de subscrição dentro de um template. O utilizador pode escolher um ou vários topics ao criar uma subscription.

Add topic ​

Abre o wizard de criação de topic.

Se o template ainda não tiver sido guardado, a interface primeiro guarda as alterações do template e depois abre a criação de topic.

Topics table ​

A tabela mostra os topics do template atual.

Colunas:

  • Topic - title e name do topic;
  • Description - descrição do topic;
  • Rules - primeiro trigger/rule ligado e número de rules adicionais;
  • Actions - ações edit/delete.

Edit topic ​

Abre o topic wizard para o topic selecionado.

Delete topic ​

Elimina o topic e as rules ligadas a ele do template. Antes da eliminação, é apresentada uma confirmação.

Topic wizard ​

Topic wizard abre a partir do Step 3 do template wizard. É usado tanto para criar como para editar um topic.

Topic Step 1. Metadata ​

Neste passo define-se como o topic aparecerá ao utilizador no subscription wizard.

Title ​

Título visível do topic.

Por exemplo: Transfers, Mints, Burns, Large deposits.

Name ​

Nome interno do topic. É formado a partir do title, mas pode ser editado.

Topic name é normalizado pela interface: espaços e separadores são convertidos em pontos, por exemplo Balances transfer torna-se balances.transfer. Este não é o formato global de todos os slugs do serviço, mas o formato atual especificamente para topic keys, porque topics muitas vezes parecem namespaces de eventos. O requisito principal é que name seja curto, claro e estável.

Description ​

Descrição opcional do topic. Explica o que muda se o utilizador ativar este topic.

Selected by default ​

Define se o topic será selecionado automaticamente ao abrir o subscription wizard.

Isto é útil para o topic principal ou mais popular do template. Se demasiados topics forem selecionados por defeito, a subscription pode ficar ruidosa, por isso é melhor escolher apenas topics realmente básicos.

Topic Step 2. Rules ​

Neste passo o topic é ligado a um ou vários triggers.

Uma rule diz que trigger usar e que condições devem ser cumpridas para o evento entrar neste topic.

Rule ​

Uma rule liga o topic a um trigger.

Se o topic deve reagir a vários triggers, é possível adicionar várias rules através de Add rule.

Trigger category ​

Filtro da lista de triggers por categoria. Ajuda a encontrar mais depressa o trigger necessário num projeto grande.

Trigger ​

Trigger concreto que a rule vai usar.

Depois de escolher o trigger, o wizard carrega os campos disponíveis para filters a partir da trigger schema.

Filters ​

Condições opcionais da rule.

Se filters não forem definidos, a rule usa todos os eventos do trigger selecionado. Se filters forem definidos, o evento entra no topic apenas quando as condições forem cumpridas.

Add a filter ​

Adiciona uma condição de filtragem.

Num filter escolhe-se um campo de trigger output ou filters schema, um operador e um valor.

Select filter ​

Campo do trigger pelo qual o evento deve ser filtrado.

Para campos object, é possível entrar na estrutura e escolher um campo aninhado.

Operator ​

Operador de comparação.

Opções disponíveis:

  • equals;
  • not equal;
  • greater than;
  • greater or equal;
  • less than;
  • less or equal.

Para condições numéricas, a UI mostra switches compactos de operadores.

Value ​

Valor com o qual o campo selecionado é comparado.

Value pode ser definido de duas formas:

  • literal value - valor fixo diretamente na rule;
  • template input - valor dos inputs que o utilizador preenche ao criar a subscription.

Use inputs ​

Muda o filter de valor fixo para valor vindo de template inputs.

Por exemplo, um template pode ter input wallet. Então uma rule pode filtrar o campo from ou to por {{ inputs.wallet }}. O utilizador introduz o endereço uma vez no subscription wizard, e a topic rule usa-o como condição.

AND / OR logic ​

Vários filters dentro de um grupo funcionam como AND: o evento deve passar todas as condições do grupo.

Se as condições forem separadas com OR, o wizard cria vários grupos: o evento deve passar pelo menos um dos grupos.

Remove all filters ​

Elimina todos os filters da rule. Depois disso, a rule volta a aceitar todos os eventos do trigger selecionado.

Add rule ​

Adiciona mais uma rule ao topic.

Isto é necessário se um topic deve combinar vários triggers. Por exemplo, o topic Token activity pode incluir rules separadas para transfer, mint e burn events.

Save ​

Save template guarda metadata, inputs, topics e rules.

Save topic guarda o topic e devolve o utilizador ao template flow.

Depois de guardar, o template aparece na aba Templates do projeto. Se o template contiver pelo menos um topic e não tiver issues, os utilizadores poderão abrir Subscribe e criar uma subscription através deste template.