Как я могу отправить USDT в сети Solana через SolanajJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу отправить USDT в сети Solana через Solanaj

Сообщение Anonymous »

Я использовал Solansj версию 1.20.2, чтобы отправить USDT в цепочку Solan, но после создания подписи я не смог найти соответствующую запись в цепочке. Есть ли какие -либо проблемы с кодом? < /p>
версия Solanaj: < /p>

com.mmorrell
solanaj
1.20.2

< /code>
Код ниже: < /p>
public static String transferUsdt(CryptoAccount fromAccount, String toAddress, long amount) {
RpcClient rpcClient = new RpcClient(Cluster.MAINNET);
String senderPrivateKeyBase58 = fromAccount.getPrivateKey();
Account senderAccount = new Account(Base58.decode(senderPrivateKeyBase58));
try {
PublicKey usdtPublicKey = PublicKey.valueOf("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB");
PublicKey tokenAccountFrom = rpcClient.getApi().getTokenAccountsByOwner(senderAccount.getPublicKey(), usdtPublicKey);
PublicKey tokenAccountTo = rpcClient.getApi().getTokenAccountsByOwner(new PublicKey(toAddress), usdtPublicKey);

Transaction transaction = new Transaction();
transaction.addInstruction(
ComputeBudgetProgram.setComputeUnitPrice(80000)
);
transaction.addInstruction(
TokenProgram.transfer(
tokenAccountFrom,
tokenAccountTo,
amount,
senderAccount.getPublicKey()

)
);

String signature = rpcClient.getApi().sendTransaction(transaction, senderAccount);

ConfirmedTransaction confirmedTransaction = rpcClient.getApi().getTransaction(signature);

long start = System.currentTimeMillis();
while (Objects.isNull(confirmedTransaction) && (System.currentTimeMillis() - start) < 120000) {
Thread.sleep(5000);
SignatureStatuses signatureStatuses = rpcClient.getApi().getSignatureStatuses(List.of(signature), true);
if (Objects.isNull(signatureStatuses)) {
System.out.println("transaction fail");
break;
}
confirmedTransaction = rpcClient.getApi().getTransaction(signature);
}
if (Objects.nonNull(confirmedTransaction) && Objects.isNull(confirmedTransaction.getMeta().getErr())) {

return signature;
}
} catch (RpcException e) {
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
return null;
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... gh-solanaj
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»