Любая строка, которая была подписана секретным ключом, может быть проверена с помощью открытого ключа. Несколько примеров ниже
Для подписи полезной нагрузки (nacl используется из ton- crypto)
const signatureData = beginCell() .storeUint(123, 32) .storeCoins(toNano(123)) .endCell() nacl.sign(signatureData.hash(), YOUR_SECRET_KEY)Для проверки подписи на другой стороне (js) это может быть следующим образом:
return nacl.sign.detached.verify(message, signature, pubkey)ИЛИ, если вы хотите, отметьте это в контракте
(int public_key) = load_data() slice ref = in_msg~load_ref().begin_parse(); var signature = ref~load_bits(512); int is_valid = check_signature(slice_hash(in_msg), signature, public_key)Некоторые ссылки
кошелек v4R2 с проверкой подписи во внешнем msg github * TON Connect V2 и проверка ton-proof на typescript и go github ts и github go