Подграф о проблеме размещенного сервиса с выбором на основе адреса 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
.