Пост

Поделитесь своими знаниями.

Пост

Поделитесь своими знаниями.

Britain.
Apr 07, 2025
Экспертные Вопросы и Ответы

Как получить значения из ObjectTable с помощью динамических полей?

dynamicFieldObjectЯ пытаюсь получить значения из ObjectTable с помощью динамических полей из внешнего интерфейса, но у меня возникает ошибка с. Unexpected arg String("gms") for the expected type Struct(MoveStructLayout...)В ошибке говорится. Как выбрать правильный тип значения и избежать этой ошибки?

  • Move CLI
  • Move
0
3
Поделиться
Комментарии
.

Ответы

3
Theoremus.
Apr 7 2025, 18:58

Судя по всему, оригинальному плакату удалось решить их проблему, используя предоставленный пример. Если вы внимательно последуете примеру и убедитесь, что идентификаторы и типы правильно соответствуют вашим данным, он должен работать отлично.

0
Комментарии
.
YJS.
YJS94
Apr 8 2025, 07:36

Вы можете получить значения из ObjectTable, используя следующий пример кода:

const getTable = async () => {
  const res = await client.getDynamicFields({
    parentId: "YOUR_PARENT_ID_HERE",
  });

  res.data.forEach(async (df) => {
    console.log(df.name, df.objectId);
    const res = await client.getDynamicFieldObject({
      parentId: "YOUR_PARENT_ID_HERE",
      name: df.name,
    });

    let field = res.data?.content?.fields;

    console.log("DF read", field.name);
  });
};

Замена YOUR_PARENT_ID_HEREдействительным родительским удостоверением личности должна помочь в достижении вашей цели.

0
Комментарии
.
farshad.
Apr 8 2025, 12:00

Если вы столкнулись с ошибкойdynamicFieldObject, убедитесь, что тип и значение соответствуют ожидаемым. Возможно, вам потребуется убедиться, что передаваемая структура nameсоответствует ожидаемому макету. Кроме того, пользователь getObjectдолжен получить сведения о родительском объекте, которые могут содержать необходимый идентификатор, но при этом убедиться, что он существует и на него указаны правильные ссылки.

0
Комментарии
.

Знаете ответ?

Пожалуйста, войдите в систему и поделитесь им.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148Посты231Ответы
Sui.X.Peera.

Заработай свою долю из 1000 Sui

Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.

Мы используем файлы cookie, чтобы гарантировать вам лучший опыт на нашем сайте.
Подробнее