Bech32 Kodlayıcı

Kodlamak için okunabilir öneki ve veri hex baytlarını girin.

Nasıl hesaplanır?

Araç, BIP173 (sürüm 0) ve BIP350 (sürüm 1 ve üzeri) biçiminde bir SegWit adresi üretir. Önek (HRP) küçük harfli ASCII olmalı ve 1 ile 83 karakter arasında olmalıdır; tanık (witness) sürümü 0 ile 16 arasında bir sayıdır. Hex veride boşluk ve baştaki 0x olabilir, ancak basamak sayısı çift ve uzunluk 2 ile 40 bayt arasında olmalıdır; sürüm 0 için tam olarak 20 ya da 32 bayt gerekir. Baytlar 8 bitlikten 5 bitlik değerlere sıfır dolgu ile yeniden dizilir, sürüm başa konur ve 6 sembollük sağlama eklenir. Sürüm 0 sağlama sabiti 1 (bech32), sürüm 1-16 ise 0x2bc830a3 (bech32m) kullanır. Semboller qpzry9x8gf2tvdw0s3jn54khce6mua7l alfabesinden gelir; sonuç HRP + "1" + sürüm + veri + sağlama biçimindedir. Geçersiz her giriş ya da 90 karakteri aşan çıktı sonuç göstermez.

Örnek hesaplama

bc öneki, 0 sürümü ve 20 baytlık 751e76e8…3bd6 programını alalım. Bu 20 bayt, yani 160 bittir. 5 bitlik değerlere dizince 32 sembol çıkar; ilk bayt 01110101 ve sonrakinin başı 00011110 şu grupları verir: 01110, 10100, 01111; bunlar w, 5, 0 karakterlerine karşılık gelir. Sürüm 0, q sembolüne eşlenir ve en başa konur; verinin ardından 6 sağlama sembolü gelir. Araç bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 çıktısını, önek bc ve 20 bayt bilgisiyle yazar. Yalnızca sürümü 1 yaparsanız bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kj9wkru çıkar; çünkü bech32m farklı bir sağlama sabiti kullanır.

Bu örneği dene →

Sık yapılan hatalar

  • Öneki BC gibi büyük harfle yazmak. BIP173 karışık harfe izin vermez; araç sizin yerinize küçültmez, sonuç göstermez. bc yazın.
  • Sürüm 0 ile 19 ya da 21 baytlık program girmek. Sürüm 0 adresleri tam olarak 20 bayt (anahtar özeti) ya da 32 bayt (betik özeti) taşır; başka uzunluklar reddedilir. Yalnızca 1-16 sürümleri 2 ile 40 bayt kabul eder.
  • Basamak sayısı tek olan ya da hex olmayan karakter içeren bir dize yapıştırmak. Her bayt iki basamak ister; abc geçersiz, 0abc geçerlidir.
  • Ağa uygun olmayan önek kullanmak. bc Bitcoin ana ağı, tb test ağıdır; aynı baytlar farklı dize ve sağlama verir, yanlış ağ adresine gönderilen para geri alınamaz.
  • Uydurma baytlardan üretilen adrese gerçek para göndermek. Araç yalnızca yazdığınızı kodlar; o programın arkasındaki anahtara kimsenin sahip olup olmadığını bilemez.

Bu hesaplama hakkında

Bech32, Bitcoin'in SegWit (yerel tanık) adreslerini temsil etmek için BIP173'te tanımlanan sağlamalı metin kodlamasıdır. Bitcoin ana ağı için “bc” gibi okunabilir bir öneki, transkripsiyon hatalarını en aza indirmek ve güçlü hata tespiti sağlamak üzere seçilmiş 32 karakterlik bir alfabeyle kodlanmış witness program verisiyle birleştirir.

“bc1” ile başlayan adresler bech32 adresleridir ve sağlama basamağı, bir cüzdanın hatalı yazılmış veya bozulmuş adresleri para gönderilmeden önce güvenilir biçimde yakalamasını sağlar — bu, eski Base58Check biçimine göre önemli bir kullanılabilirlik iyileştirmesidir. Cüzdan geliştiricileri, borsa mühendisleri ve blok zinciri araç geliştiricileri, SegWit desteği uygularken bech32 adresleri üretmek ve doğrulamak için bu tür bir kodlayıcı kullanır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar

  • İlk yorumu siz yazın.

Popüler hesaplayıcılar

Tüm Hesaplayıcılar