Привет. как мне проверить полученную с фронта сигнатуру на js. саму сигнатуру я получил через rpc.rawApi.signData из библиотеки everscale-inpage-provider? если использовать client.crypto.verify_signature из eversdk там нужны сами данные и публичный ключ, а rpc.rawApi.signData просто предлагает саму сигнатуру, без данных.Или полученная сигнатура это и есть данные? =)
ВеткаПривет. как мне проверить полученную с фронта сигнатуру на js. саму сигнатуру я получил через rpc.rawApi.signData из биб…
5 сообщений · –S M S вот так работает. спасибо на стороне фронта const data = {} const data_base64 = Buffer.from(JSON.stringify(data), 'utf8').toString('base64') const encode = await rpc.rawApi.signData({ publicKey, data: data_base64 }) отправляем {data: data_base64, publicKey, signature: encode?.signature} на стороне сервера получаем {data: data_base64, publicKey, signature} const EVERCLOUD_KEY = process.env.EVERCLOUD_KEY const ENDPOINTS = `https://mainnet.evercloud.dev/${EVERCLOUD_KEY}/graphql` const provider = new ProviderRpcClient({ provider: EverscaleStandaloneClient.create({ connection: { id: 42, type: 'graphql', data: {endpoints: [ENDPOINTS]} } }) }) const data_string = Buffer.from(data_base64, 'base64').toString('utf8') const isValid = await provider.verifySignature({ publicKey, signature, dataHash: sha256(data_string) })