Как я могу подписать транзакцию JSON?
У меня есть JSON-представление транзакции XRPL, как показано ниже, и я хочу подписать его на C++, используя rippled. Как я могу?
{
"TransactionType" : "Payment",
"Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
"Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX",
"Amount" : "1000000"
}
1 ответ
- Разобрать транзакцию, представленную классом
STTx
(что означает "сериализованный тип: транзакция") из JSON. У ripple-libpp есть хороший пример кода. - Создайте ключ подписи, представленный типом
SecretKey
. Если у вас есть ключ подписи в кодировке Base58, вы можете использоватьparseBase58
(проходитьTokenType::AccountSecret
для первого параметра). - Получите проверочный ключ (представленный классом
PublicKey
) из ключа подписи сderivePublicKey
(проходитьKeyType::secp256k1
илиKeyType::ed25519
для первого параметра, в зависимости от выбранного вами алгоритма подписи). - Подпишите транзакцию с помощью
STTx::sign
. - Прочитать подпись через
Blob const signature = sttx.getFieldVL(sfTxnSignature)
(аBlob
- вектор байтов).