An diesem Punkt habe ich 10 LoAs über Firedancer und Agave gefunden, während ich während meiner Arbeit oder beim Betreiben von Validatoren Dinge gemacht habe. Mein Favorit bisher war ein Fehler in Frankendancer, der verhinderte, dass Knoten dem Netzwerk beitreten konnten. Es gab einen Zeitraum von etwa 8 Stunden im August letzten Jahres, in dem kein Frankendancer-Knoten dem Mainnet beitreten konnte, obwohl Knoten, die bereits online waren, online bleiben konnten. Es verhinderte tatsächlich, dass der Cavey Cool-Validator dem Netzwerk beitreten konnte, was ich manuell patchen musste, bevor ein offizieller Patch veröffentlicht wurde. Ich war nicht der Erste, der dies gemeldet hat, aber es ist immer noch ein sehr lustiger Fehler. Das Problem war, dass der Validator beim Start die Kontaktdaten aller Validatoren las. Dazu gehörte der Name des Validators, z.B. "Temporal Emerald". Beim Kopieren des Namens wurden 64 Bytes aus der Namenszeichenfolge in ein Byte-Array kopiert und der Rest der Bytes wurde abgeschnitten. Als es später versuchte, diese Bytes als Zeichenfolge zu verwenden, stieß es auf ein Problem: Nicht jedes Zeichen ist ein Byte! Ein Validator, der damals den Namen "pico🙄.sol💎+ Firedancer🔥💃 + DoubleZero + giveaways🎉" trug, hatte das Zeichen 🎉, das von Byte 62 bis 66 reichte, was dazu führte, dass all diese Knoten beim Start abstürzten, als das Zeichen abgeschnitten wurde. Die Lösung war einfach: Aktualisieren Sie die Trunkierungslogik, um sich der UTF-8-Codierung bewusst zu sein und früher in der Zeichenfolge abzuschneiden, wenn ein Zeichen abgeschnitten werden würde.