Mengapa transaksi tidak menyebar ke node lain?
Saya mendapat transaksi di mana saya sudah menandatangani byte dan saya siap untuk menyuntikkan operasi.
Jika saya menyuntikkannya ke node lokal saya, saya dapat melihat txn di mempool node saya. Tetapi jika saya meminta node lain, katakanlah giganode.io, itu tidak ada di mempool mereka, dan tidak di mempool node lain yang saya kelola. Operasi ini ada di dalam bagian "terapan" dari mempool saya, yang menunjukkan tidak ada yang salah (yaitu: semua biaya bagus, kontra bagus, dll).
Akhirnya txn menghilang dari node saya; tidak pernah disebarkan.
Saya ulangi injeksi ke giganode. Sekarang, saya dapat melihat txn di mempool giganode, tetapi tidak di mempool node lain. Akhirnya menghilang.
Saya dapat mengulangi proses ini berulang kali pada node mana pun yang menerima suntikan. Txn hanya muncul di mempool node lokal dan tidak pernah p2p keluar ke jaringan.
Apa penyebabnya? Apa yang secara fundamental salah dengan txn ini sehingga tidak bisa keluar ke jaringan? Ini salah satu /mempool/pending_operationstangkapannya:
{
"applied": [
{
"hash": "ong6pLVyneQnE7GafJs4BLqvo4DjYJpcbPQusgRJ3tp8mnBTF7H",
"branch": "BLaCmxW59eNLNWqvRMCoNxrxPo91pjwfx16knVdYZybPzbKmGfE",
"contents": [
{
"kind": "transaction",
"source": "tz1eXXXXX",
"fee": "1792",
"counter": "5183887",
"gas_limit": "15385",
"storage_limit": "257",
"amount": "516458",
"destination": "tz1ZZZZZ"
}
],
"signature": "sigRoymL59X2JB8WiiabowKSSSSSSS"
},
...
Operasi tidak pernah meninggalkan 'diterapkan'. Tidak ada pesan kesalahan yang pernah dilampirkan ke op. Itu menghilang begitu saja setelah sekitar 30m.
Jawaban
Saya tidak setuju bahwa perilaku mempool menunjukkan bahwa bayarannya bagus. Sebaliknya. Node publik seperti Giganode umumnya tidak menolak operasi berdasarkan biaya dalam prevalidasi, sementara sebagian besar node lain menerapkan filter default. Biayanya kemungkinan besar terlalu rendah. Saya tidak tahu persis berapa banyak byte yang Anda dapatkan di sana, tetapi menaikkan biaya dengan 10 mutez mungkin akan berhasil.