Chia Blockchain 1.3.0

Chia byla dlouhé měsíce bez nové verze až do dneška. Tvrdě dřeli, aby se jim všechny nové funkce podařilo spojit do jedné snadno použitelné verze. Dnes s hrdostí oznamují vydání verze 1.3.0 viz https://github.com/Chia-Network/chia-blockchain/releases/tag/1.3.0. K dispozici je dlouhý seznam přidaných funkcí a změn a také několik pozoruhodných položek, na které je třeba si dát při aktualizaci pozor.

Níže hlavní změny:

Přidáno

  • Podpora peněženek CAT
  • Nabídky - vytvářejte, přijímejte a sdílejte své nabídky.
  • Integrovaná synchronizace peněženky Lite - pro rychlejší synchronizaci, zatímco se synchronizuje full node.
  • Režim peněženky - přístup pouze k funkcím peněženky pro provádění a přijímání transakcí.
  • Režim farmáře - všechny vaše farmářské nástroje a full node, přičemž získáte všechny výhody vylepšených funkcí peněženky.
  • Nová DB v2 - vylepšená komprese pro menší footprint (DB v2 je vytvářena souběžně s DB v1. Před provedením příkazu pro upgrade DB se ujistěte, že máte dostatek místa na disku).
  • Nástroj pro odvozování klíčů přes CLI - umožňuje odvozovat adresy peněženek, podřízené klíče a také vyhledávat klíče pro libovolné adresy/klíče peněženek.
  • Migrace dat peněženek Lite - budou přeneseny vámi nastavené peněženky CAT a historie nabídek.
  • Farmář bude hlásit informace o verzi User-Agent pole pro protokol poolu (díky @FazendaPool).
  • Do démona bylo přidáno nové RPC get_version, které vrací verzi Chia (díky @dkackman).
  • Přidáno nové nastavení config.yaml, reserved_cores, pro určení, kolik jader nebude Chia používat při spouštění poolů procesů. Použití hodnoty 0 umožní Chia použít všechna jádra pro pooly procesů. Nastavením výchozí hodnoty 0 umožníte Chia používat všechna jádra. To může vést k rychlejší synchronizaci a celkově lepšímu výkonu, zejména na procesorech nižší třídy, jako je Raspberry Pi4.
  • Do peněženky bylo přidáno nové RPC get_logged_in_fingerprint, které vrací aktuálně přihlášený fingerprint.
  • Přidána nová volba CLI, chia keys derive, která umožňuje odvození libovolného počtu klíčů různými způsoby. To je užitečné zejména pro vyčerpávající vyhledávání dané adresy pomocí vyhledávání chia keys derive.
  • Výška bloku soft forku nastavena na 2 300 000.
  • Přidána možnost přidat volitelný poplatek za vytvoření a změnu plot NFT.
  • Přidána multiprocessing_start_method: položka v config.yaml, která umožňuje nastavit metodu startu pythonu pro multiprocessing (výchozí je spawn v systémech Windows a MacOS, fork v Unixu).
  • Přidána možnost “Zrušit transakci” přijatých nabídek, které se zasekly v “čekajících”.

Změněno

  • Synchronizace klienta Lite peněženky byla aktualizována tak, aby vyžadovala pouze 3 peery namísto 5.
  • Automaticky se přidají pouze CAT z výchozího seznamu CAT, všechny ostatní neznámé CAT bude nutné přidat ručně (díky @ojura, toto chování lze přepnout v config.yaml).
  • Nový vzor řazení historie nabídek - otevřené/neotevřené nabídky seřazené nahoře podle data vytvoření > výšky potvrzovacího bloku > id obchodu a dále potvrzené a zrušené nabídky seřazené ve stejném pořadí.
  • Při vykreslování více grafů pomocí grafického uživatelského rozhraní se nové položky berou z horní části seznamu místo ze spodní.
  • Aktualizace úložiště certifikátů certifikační autority.
  • Pracovní postupy VDF, chiapos a blspy aktualizovány tak, aby podporovaly python 3.10 wheels
  • Informace o peerech nyní ukládáme v serializovaném formátu namísto sqlite. Nové soubory se jmenují peers.dat a wallet_peers.dat. Do souboru config.yaml byla přidána nová nastavení peers_file_path a wallet_peers_file_path.
  • Volba CLI chia show zobrazí aktuálně vybranou síť (mainnet nebo testnet).
  • Volba CLI chia plots check zobrazí Pool Contract Address pro Portable ploty (PlotNFT).
  • Přidání možnosti překladu IPv6 z názvů hostitelů v config.yaml. Přidána nová konfigurační volba prefer_ipv6 pro přepínání, zda se má překládat na IPv6 nebo IPv4. Výchozí hodnota je false (IPv4).
  • Výchozí časový limit při synchronizaci node byl zvýšen z 10 sekund na 30 sekund, aby nedocházelo k časování při synchronizaci z pomalejších peerů.
  • TLS 1.2 je nyní minimem vyžadovaným pro veškerou komunikaci včetně peer-to-peer. Seznam povolených šifer TLS 1.2 je nastaven na: “ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256”.
  • V některé z příštích verzí bude minimální verze TLS nastavena na TLS 1.3. Pokud používaná verze openssl nepodporuje TLS 1.3, bude v protokolu vypsáno varování. Pokud bude podporována, budou všechna místní připojení omezena na TLS 1.3.
  • Nová testovací síť je testnet10.
  • Přepnutí na používání npm ci z npm install v instalačních skriptech GUI.
  • Zlepšení výkonu synchronizace celého uzlu provedením validace BLS v samostatných procesech.
  • Výchozí rotace logů byla změněna z 20MiB na 50MiB - přidáno nastavení config.yaml log_maxbytesrotation pro konfiguraci tohoto nastavení.
  • Optimalizace chiaposu pro použití přejmenování místo kopírování, pokud jsou soubory tmp2 a final na stejném souborovém systému.
  • Aktualizováno pro použití chiapos 1.0.9.
  • Aktualizováno pro použití blspy 1.0.8.
  • Zavedeno omezení počtu PlotNFT, které může uživatel vytvořit - limit je nastaven na 20. To má zabránit tomu, aby uživatelé nesprávně vytvářeli více PlotNFT. Tento limit lze zrušit pro ty uživatele, kteří mají specifické případy použití vyžadující více než 20 PlotNFT.
  • Odstraněna možnost zobrazit “Všechny” řádky na stránku na stránce transakcí v grafickém uživatelském rozhraní.
  • Aktualizován obrázek na pozadí pro instalační program systému MacOS.
  • Změněno chování toho, jaké informace se zobrazují, pokud se databáze stále synchronizuje.
    • Nemělo by se očekávat, že informace o peněžence, například adresa výplaty, by neměly odrážet to, co jejich požadované hodnoty, dokud se nedokončí synchronizace.
    • Pokyny k výplatě nemusí být možné upravovat prostřednictvím grafického uživatelského rozhraní, dokud není synchronizace dokončena.

Opraveno

  • Limit historie nabídek byl opraven tak, aby se nyní zobrazovaly všechny nabídky namísto omezení na 49 nabídek.
  • Opraveny problémy s použitím možností madmax CLI -w, -G, -2, -t a -d (problém 9163) (díky @randomisresistance a @lasers8oclockday1).
  • Opraveny problémy s volbou CLI -passhrase-file (vydání 9032) (díky @moonlitbugs).
  • Opraveny problémy se zobrazováním IPv6 adresy v CLI pomocí chia show -c.
  • Díky @chuwt za opravu logické smyčky při synchronizaci uzlů.
  • Opraveno chia-blockchain RPM pro správné nastavení oprávnění chrome-sandbox.
  • Opraveny problémy, kdy kód peněženky negeneroval dostatek adres při hledání mincí, což mohlo vést k chybějícím mincím kvůli tomu, že adresa nebyla zkontrolována. Bylo odstraněno konfigurační nastavení initial_num_public_keys_new_wallet. Nyní se ve všech případech používá konfigurační nastavení initial_num_public_keys.
  • Děkujeme @risner za opravy související s používáním colorlogu.
  • Opraveny problémy při načítání pool_list z configu, pokud je nastaven na null.
  • Opraveno zobrazování informací v CLI chia show -c v případě, že se nemá zobrazovat žádná informace.
  • Díky @madMAx43v3r za opravy v chiaposu související s možnou race condition při volání více vláken Verifier::ValidateProof.
  • Díky @PastaPastaPasta za opravy některých varování kompilátoru v bls-signatures.
  • Děkuji @random-zebra za opravu chyby v operátoru přiřazení kopie v bls-signature.
  • Díky @lourkeur za opravy v blspy týkající se pybind11 2.8+.
  • Díky @nioos-ledger s opravou implementace bls-signatures v pythonu.
  • Díky @yan74 za pomoc při ladění race condition při zápisu do config.yaml během betaverze.
  • Opraven problém, kdy DB mohla ztratit vrchol řetězce při příjmu komprimovaného bloku.
  • Opraveno zobrazování příchozí transakce po zrušení nabídky.
  • Opravena zpráva o poplatku za blockchain “Hodnota se zdá být vysoká”, která se zobrazovala, i když neměla.
  • Chyby v pool farmingu, kde byl nesprávně nastaven autentizační klíč, což vedlo k chybám neplatného podpisu.
  • Únik paměti v synchronizačním úložišti celého uzlu, kde se ukládaly špičkové hashe bez ořezání.
  • Opraven problém s timelordem, který mohl způsobit, že několik bloků nebylo infundováno na řetězec, pokud určitý důkaz prostoru podepisoval konfliktní bloky.

Známé problémy

  • Když přidáváte ploty a vyberete možnost “create a Plot NFT”, zobrazí se chybová zpráva “Initial_target_state” a ploty se nevytvoří.
    • Řešení: Nejprve vytvořte NFT ploty na kartě “Pool” a poté přidejte ploty a v rozevírací nabídce vyberte vytvořenou NFT plotu.
  • Při zavření aplikace Chia, bez ohledu na to, zda jste v režimu farmáře nebo peněženky, není obsah dialogového okna pro ukončení správný.
  • Pokud začnete s režimem peněženky a poté přepnete do režimu farmáře a zpět do režimu peněženky, celý node se bude nadále synchronizovat na pozadí. Aby se full node přestal synchronizovat po přepnutí do režimu peněženky, je třeba zavřít aplikaci Chia a znovu ji spustit.
  • Synchronizace peněženek s velkým počtem transakcí nebo velkým počtem mincí bude trvat déle (více než několik minut), ale měla by trvat kratší dobu než synchronizace celého uzlu. V některých případech může selhat.
  • Obrovská čísla nelze zadat do zadávání částek/poplatků za transakce v grafickém uživatelském rozhraní.
  • V některých systémech Linux dochází k nadměrnému využívání paměti s hodnotou default/python_default/fork nastavenou pro multiprocessing_start_method:. Nastavení této hodnoty na spawn může přinést lepší výsledky, ale v některých neobvyklých případech je známo, že způsobuje pády.
  • Odeslání TX s příliš malým poplatkem může způsobit nekonečný spinner v grafickém uživatelském rozhraní, když je mempool plný.
    • Řešení: Restartujte grafické uživatelské rozhraní nebo vymažte nepotvrzené TX.
  • Nárokování odměn při samoobslužném sdílení pomocí CLI zobrazí chybovou zprávu, ale ve skutečnosti vytvoří transakci.

Czech Farm

  • update všech serverů na verzi 1.3.0 až po pořádném otestování (budeme informovat)
  • update docker image viz https://hub.docker.com/u/czechfarm na verzi 1.3.0 až po pořádném otestování (budeme informovat)