Byzantine-Fault Tolerant State Machines. Or Blockchain, for short.
Branch | Tests | Coverage | Linting |
---|---|---|---|
master | |
Tendermint Core, herhangi bir programlama dilinde yazılmış bir durum geçiş makinesi alan Bizans Hata Toleranslı (BFT) ara yazılımıdır - ve birçok makinede güvenli bir şekilde çoğaltır.
Protokol ayrıntıları için bkz. the specification.
Güvenlik ve canlılık kanıtları dahil olmak üzere fikir birliği protokolünün ayrıntılı analizi için, son makalemize bakın, "The latest gossip on BFT consensus".
Lütfen üretim dalınız olarak master'a güvenmeyin. Use releases instead.
Tendermint, hem özel hem de kamusal ortamlarda üretimde kullanılıyor, en önemlisi blok zincirleri Cosmos Network. Ancak, protokolde ve API'lerde hala önemli değişiklikler yapıyoruz ve henüz v1.0'ı yayınlamadık. Kullanım hakkında daha fazla bilgi için aşağıya bakın versioning.
Her durumda, Tendermint'i üretimde çalıştırmayı düşünüyorsanız, size yardımcı olmaktan memnuniyet duyarız.. İletişime geçmek için bu adresleri kullanın.over email ya da sohbete katılın.
Bir güvenlik açığını bildirmek için, bu proglara bakabilirsiniz bug bounty program. Aradığımız hata türlerinin örnekleri için, buraya göz atın our security policy
Ayrıca güvenlik güncellemeleri için özel bir posta listesi tutuyoruz. Sadece bu posta listesini kullanacağız Tendermint Core'daki güvenlik açıklarını ve düzeltmeleri size bildirmek için. Abone olabilirsiniz here.
##Minimum Gereksinimler
Gereklilik | Notlar |
---|---|
Go version | Go1.15 or higher |
Eksiksiz belgeler adresinde bulunabilir. website.
See the install instructions.
- Tek node
- Local cluster using docker-compose
- Remote cluster using Terraform and Ansible
- Join the Cosmos testnet
lütfen riayet ediniz Code of Conduct tüm etkileşimlerde.
Projeye katkıda bulunmadan önce, lütfen bir göz atın contributing guidelines ve style guide. Şunu da okumanız faydalı olabilir. specifications, izleyin Developer Sessions, ve kendinizi tanıyın Architectural Decision Records.
Tendermint kullanımı Semantic Versioning sürümün ne zaman ve nasıl değişeceğini belirlemek için. SemVer'e göre, genel API'deki herhangi bir şey 1.0.0 sürümünden önce herhangi bir zamanda değişebilir.
Bu 0.X.X günlerinde Tendermint kullanıcılarına biraz istikrar sağlamak için MINOR sürümü kullanılıyor toplam genel API'nin bir alt kümesindeki son değişiklikleri bildirmek için. Bu alt küme, tüm diğer işlemlere (cli, rpc, p2p, vb.) maruz kalan ancak Go API'lerini içerir.
Bununla birlikte, aşağıdaki paketlerdeki kırılma değişiklikleri, CHANGELOG, KÜÇÜK sürüm darbelerine yol açmasalar bile:
- crypto
- config
- libs
- bech32
- bits
- bytes
- json
- log
- math
- net
- os
- protoio
- rand
- sync
- strings
- service
- node
- rpc/client
- types
1.0.0 öncesi teknik borç birikiminden kaçınmak amacıyla, değişikliklerin (yani MINOR sürümündeki tümseklerin) bozulacağını garanti etmiyoruz. mevcut Tendermint blok zincirleriyle çalışacak. Bu durumlarda yapacaksın yeni bir blok zinciri başlatmanız veya eskisini elde etmek için özel bir şeyler yazmanız gerekir. verileri yeni zincire aktarın. Ancak, PATCH sürümündeki herhangi bir tümsek, mevcut blok zinciri geçmişleriyle uyumlu.
Yükseltme hakkında daha fazla bilgi için, bakınız UPGRADING.md.
Küçük bir çekirdek ekip olduğumuz için, güvenlik güncellemeleri de dahil olmak üzere yalnızca yama güncellemelerini gönderiyoruz, en son küçük sürüme ve en son ikinci küçük sürüme. Sonuç olarak, Tendermint'i güncel tutmanızı şiddetle tavsiye ederiz. Yükseltme talimatları bulunabilir UPGRADING.md.
Blok zinciri veri yapıları ve p2p protokolleri hakkında ayrıntılar için, bakınız Tendermint specification.
Yazılımı kullanmayla ilgili ayrıntılar için, buuraya bakınız documentation aynı zamanda ev sahipliği yapan: https://docs.tendermint.com/master/
Kıyaslama şu şekilde sağlanır: tm-load-test
.
Ek araçlar şurada bulunabilir /docs/tools.
- Cosmos SDK; a cryptocurrency application framework
- Ethermint; Ethereum on Tendermint
- Many more