Подграф о проблеме размещенного сервиса с выбором на основе адреса ethereum

Я создал схему для своего подграфа внутри файла .graphql, вот пример: `

      type Post @entity {
  id: ID!
  title: String! # string
  body: String! # string
  createdAt: BigInt! # uint256
  groupID: BigInt! # uint256
}

type User @entity {
  id: ID! 
  userId: BigInt!
  transactionHash: Bytes
  telephoneVerifiedData: String
  email: String # string
  _userAddress: Bytes
}

`

Я попытался создать схему для запроса, обрабатывающего поле _userAddress как обычный текст (я не знаю другого способа, ничего не могу найти в документах):

      type _Schema_
  @fulltext(
    name: "getUser"
    language: simple
    algorithm: rank
    include: [
      { entity: "User", fields: [{ name: "userName", name: "_userAddress" }] }
    ]
  )

но я получаю это сообщение при развертывании подграфа:

      ✖ Failed to deploy to Graph node https://api.thegraph.com/deploy/: deployment failure::subgraph validation error: [schema validation failed: [FulltextIncludedFieldInvalid("_userAddress")]]

1 ответ

Я вижу две проблемы.

В полнотекстовом запросе вы указываетеuserNameкак поле для поиска, но оно не определено в вашей сущности. ДобавлятьuserName: Stringна вашUserсущность и

Во-вторых, тип_userAddressявляетсяBytes. Чтобы это поле было поисковым, оно должно быть типаString.

Другие вопросы по тегам