IPFS File Datasource warning messages

Abierto
#6,156 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
32/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
rust
Área
backend

Línea de trabajo

Comienza reproduciendo el flujo de CID repetido descrito alrededor de IpfsMetadataTemplate.create(cid) y el handler handleIpfsContent. Inspecciona cómo la creación repetida de datasources de archivos IPFS produce la advertencia del runtime host y, después, verifica si la advertencia es inocua y si se puede evitar la creación repetida sin cambiar el comportamiento de las relaciones entre entidades.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Stale

Hi,

I have deployed a subgraph in Subgraph studio.

I'm testing a IPFS File Datasource to gather off-chain metadata info into a chain based handler.

The entity of the off-chain data is defined as:

type IpfsMetadata @entity {
  id: Bytes!
  metaData: String!
}

The event driven entity is linked this way

type AssetTransfer @entity {
  id: Bytes!
  tokenId: BigInt!
  cid: String!
  metaData: IpfsMetadata 
}

In mappings file, the following event handler set the relationship:

export function handleAssetTransfer(event: AssetTransferEvent): void {

  let entity = new AsssetTransfer(idBytes);

  const cid = event.params.cid;

  entity.metaData = Bytes.fromUTF8(cid);

  IpfsMetadataTemplate.create(cid);

               .....

}

I have the following content handler:

export function handleIpfsContent(content: Bytes): void {

  let cid = dataSource.stringParam();
  let ipfs = new IpfsMetadata(Bytes.fromUTF8(cid));
  ipfs.metaData = content.toString();
  ipfs.save();
}

Currently, cid are always the same for every indexed event (it's a normal use case), so the following warning is shown through the dashboard after the first IpfsMetadata entity is created:

"no runtime host created, there is already a runtime host instantiated for this data source, address: xxxxxxx, name: IpfsMetadata, runner_index: 1246"

When I query the index to check the AssetTransfer entities, all of them are successfully linked to the unique IpfsMetadata entity, so everything seems to work fine.

However, I don't like the warning log at every new indexed event when cid parameter is repeated.

As entities associated with File Data Sources cannot be accessed by chain-based handlers, there is no way to check whether the IpfsMetada entity does exist to prevent creating a new file datasource template.

Shoud I be aware of the logged message?
Is there any other thing I can do to prevent the warning log?

Best regards

Lenguaje dominante
Rust
Estrellas
3.2k
Forks
1.1k
Merge medio
4 d 1 h
PR fusionados (30 d)
1

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de graphprotocol/graph-node

Todos los issues de graphprotocol/graph-node

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.