Ana içeriğe atla
Dört istemciyle üç yaygın görev. <YOUR_KEY> yerine uç noktalarınızdan birinin anahtarını, TXYZ… yerine gerçek bir adres yazın. Yorumlardaki WU değerleri, Node API’nin tam olarak bu çağrılar için tahsil ettiği miktardır.

Bağlanma

İlk çağrı hesap verilerini okur — 1 WU.
grpcurl, TRON .proto dosyalarına ihtiyaç duyar ve adresleri base64 baytları olarak alır — bkz. gRPC.

USDT gönderme

İşlemi düğüm üzerinden oluşturun, kendi tarafınızda imzalayın, düğüm üzerinden yayınlayın. Özel anahtarınız sunucunuzdan hiç çıkmaz. Bir transfer 2 WU tutar; tronpy ile 3 WU, ayrıca kontratı yüklemek için bir kez 2 WU. Bu örneklerde from (sender) ve to gönderenin ve alıcının adresleridir, amount tokenin en küçük biriminde verilir (USDT’nin 6 ondalık basamağı vardır: 1 USDT = 1000000) ve PRIVATE_KEY gönderenin özel anahtarıdır. fee_limit, transferin yakabileceği en fazla TRX miktarıdır, sun cinsinden: 30000000, 30 TRX’tir.
curl ile parameter, transfer(address,uint256) argümanlarının hex olarak ABI kodlamasıdır: alıcının 20 baytlık adresi (başındaki 41 olmadan hex biçimi) soldan sıfırlarla 64 hex karaktere tamamlanır, ardından yine 64 karaktere tamamlanmış miktar gelir. Düğüm imzasız bir transaction ve onun txID değeriyle yanıt verir. txID değerini gönderenin özel anahtarıyla imzalayın, imzayı işleme "signature": ["<hex>"] olarak ekleyin ve bu işlem nesnesini signed.json olarak gönderin. grpcurl ile call.json bir TriggerSmartContract mesajıdır: owner_address, contract_address ve data (4 baytlık fonksiyon seçicisi ve ardından ABI kodlu argümanlar), hepsi base64 baytları olarak. Mesajda ücret limiti alanı yoktur: dönen işlemde raw_data.fee_limit değerini ayarlayın, ardından yeni raw_data değerinin SHA-256 özetini imzalayın — bu değişiklikten sonra dönen txid artık eşleşmez. Bkz. gRPC.
Aynı imzalı işlemi yeniden göndermek güvenlidir: ağ bir işlem kimliğini yalnızca bir kez yürütür ve tekrarlanan yayın DUP_TRANSACTION_ERROR olarak döner. Süresi dolmuş bir işlemin yeniden oluşturulması ve imzalanması gerekir.

USDT transferlerini izleme

En yeni blok başlığını, ardından o bloğun makbuzlarını okuyun ve USDT ile ilgili olanları ayırın. Başlık 1 WU, yeni bir bloğun makbuzları 2 WU tutar — blok başına 3 WU. Zincirin her bloğunu bu şekilde takip etmek ayda yaklaşık 2.6M WU eder.
Bir USDT çağrısının her makbuzu, tokenin Transfer olaylarını log içinde taşır. Bir olayda topics[0] değeri ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef olur, topics[1] ve topics[2] gönderen ve alıcıdır (son 40 hex karakter, 41 öneki olmadan adrestir) ve data miktardır. Gerçekleşen bir transferde receipt.result değeri SUCCESS olur. Yukarıdaki filtre USDT kontratına yapılan doğrudan çağrıları tutar; başka kontratların aktardığı USDT’yi de yakalamak için bunun yerine her log kaydının address alanını kontrol edin — USDT için a614f803b6fd780986a42c78ec9c7f77e6ded13c.
Yaklaşık her 3 saniyede yeni bir blok gelir. İşlediğiniz son bloğu hatırlayın ve ondan sonraki her numara için makbuzları alın; böylece yavaş bir sorgulama döngüsü hiçbir bloğu atlamaz. Zincir ucundan 20 bloktan daha geride olan bir bloğun makbuzları artık yeni sayılmaz ve boyutlarına göre ücretlendirilir — bkz. Kota birimleri.