Подтверждение баланса

Используйте подтверждение баланса, чтобы делиться балансами между несколькими адресами. Это помогает привлекать пользователей, не требуя от них владения токенами.

С подтверждением баланса:

  • Вы оплачиваете транзакции

  • Пользователи подписывают транзакции

Подтверждение баланса:

  • Основано на токене, установленном при подключении к узлу Irys. И утверждающий, и утверждаемый должны использовать один и тот же токен

  • Регистрируется мгновенно после завершения загрузки

  • Непередаваемый

  • Могут быть настроено на автоматическое истечение срока действия

Создание подтверждения

Чтобы обновить существующее подтверждение, создайте новое подтверждение с тем же адресом (оно перезапишет существующее подтверждение)

const receipt = await irys.approval.createApproval({
	amount: irys.utils.toAtomic(1), // Amount in atomic units
	approvedAddress: "<address>",
	expiresInSeconds: 100, // Expires in 100 seconds. Delete to remove expiration.
});

Загрузка с использованием подтверждения

const receipt = await irys.upload("Hirys World", { upload: { paidBy: "<address>" } });

Объединение подтверждение и тегов:

const uploadOptions = {
	upload: {
		paidBy: "<address>",
	},
	tags: [{ name: "Content-Type", value: "text/plain" }],
};
const receipt = await irys.upload(dataToUpload, uploadOptions);

Отмена подтверждения:

const receipt = await irys.approval.revokeApproval({ approvedAddress: "<address>" });

Получите балансы, которые вы можете использовать

Получите подтверждения по ряду предоставленных адресов:

const approvals = await irys.approval.getApprovals({
	payingAddresses: ["<address>"],
});

Получите первые 100 подтверждений:

const approvals = await irys.approval.getApprovals({});

Возвращаемое значение запроса:

{
	amount: string; // Amount approved in atomic units
	payingAddress: string; // Address of the payer's wallet
	approvedAddress: string; // Address of the wallet that received the approval
	expiresBy: number; // Timestamp (in milliseconds) when approval expires
	timestamp: number; // Timestamp (in milliseconds) when the approval was created
	token: string; // Approved token
}
[];

Получите подтверждения, которые вы создали

Получите подтверждения для предоставленного набора адресов:

const createdApprovals = irys.approval.getCreatedApprovals({
	approvedAddresses: ["<address>"],
});

Получите первые 100 подтверждений, которые вы создали:

const createdApprovals = irys.approval.getCreatedApprovals({});

Возвращаемое значение запроса:

{
	amount: string; // Amount approved in atomic units
	payingAddress: string; // Address of the payer's wallet
	approvedAddress: string; // Address of the wallet that received the approval
	expiresBy: number; // Timestamp (in milliseconds) when approval expires
	timestamp: number; // Timestamp (in milliseconds) when the approval was created
	token: string; // Approved token
}
[];

Оригинал статьи: https://docs.irys.xyz/build/d/features/balance-approvals#upload-using-an-approval

Последнее обновление