Testnet ve mainnet
Mainnet, gerçek varlıkların gerçek değerle işlem gördüğü canlı blok zinciridir; testnet ise geliştiricilerin değersiz test tokenleriyle aynı yazılımı denediği, üretime alınmadan önce kullanılan ayrı bir ağdır.
Mainnet, bir kripto projesinin gerçek varlıkların gerçek ekonomik değerle el değiştirdiği canlı, üretim ağıdır; testnet ise aynı yazılımın değersiz test tokenleriyle denendiği, mainnet'ten tamamen ayrı bir ağdır.
Testnet, mainnet'in bire bir kopyası gibi çalışır: aynı protokol kuralları, aynı cüzdan yazılımı, aynı akıllı sözleşme mantığı test edilebilir, ancak ağdaki token'ların hiçbir gerçek değeri yoktur ve genellikle bir "faucet" üzerinden ücretsiz dağıtılır. Geliştiriciler yeni bir özelliği, bir güncellemeyi veya bir sözleşmeyi önce testnet'te deneyip hataları ayıklar, sorun çözüldükten sonra aynı kodu mainnet'e taşır. İki ağ genellikle farklı adres formatları veya öneklerle ayrılır ve birbirinden bağımsız işler; testnet'teki bir işlem mainnet'teki bakiyeyi hiçbir şekilde etkilemez.
Bu ayrım kripto varlık değiştirirken doğrudan işe yarar çünkü bir cüzdan veya borsa arayüzünün hangi ağı gösterdiğini bilmemek pahalı bir hataya yol açabilir. Testnet için üretilmiş bir adrese veya testnet token'ı mainnet üzerinden gönderilirse, işlem çoğu zaman geri alınamaz şekilde kaybolur — ağlar birbirinden habersiz çalıştığı için karşı taraf o varlığı asla alamaz. Zest gibi borsalar yalnızca mainnet üzerindeki gerçek varlıklarla işlem yapar; testnet token'ları hiçbir zaman bir değişimin parçası olmaz.
Bu, günlük kullanımda somutlaşır. Örneğin biri Zest'te bir varlığı değiştirmek için kendi cüzdanından gelen bir özel anahtarla imzalanmış bir işlem gönderdiğinde, bu her zaman ilgili varlığın mainnet'i üzerinden yapılır; Zest bir testnet ağını asla desteklemez veya göstermez. Bazı cüzdan uygulamaları geliştirici modunda testnet ağlarını listeye ekleyebilir — biri yanlışlıkla bu moda geçip test ağını seçerse ve oradan bir adrese gerçek varlık göndermeye çalışırsa, işlem büyük olasılıkla hiçbir yere ulaşmaz. Bu yüzden bir değişim öncesinde cüzdanın hangi ağa bağlı olduğunu kontrol etmek, adresi kontrol etmek kadar önemlidir.
Testnet'ler ayrıca büyük protokol güncellemelerinin — örneğin bir hard fork'un — canlıya alınmadan önce denendiği yerdir; bir ağ mainnet'te büyük bir değişiklik yapmadan önce aynı değişikliği genellikle haftalar veya aylar önce testnet'te çalıştırır. Bu, sıradan bir kullanıcı için görünmez bir arka plan sürecidir, ancak bir ağın neden "yakında testnet'te", "mainnet'e hazırlanıyor" gibi duyurular yaptığını açıklar. Bu açıklama yatırım tavsiyesi değildir.