From 422575ce8677667a7c6ee737a51aef44b1792e60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sad=C4=B1k=20S=C3=BCnb=C3=BCl?= <109942759+SadikSunbul@users.noreply.github.com> Date: Fri, 21 Jun 2024 12:52:48 +0300 Subject: [PATCH] yorum eklendi --- blockchain/blockchain.go | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/blockchain/blockchain.go b/blockchain/blockchain.go index 91fe359..6d45b3d 100644 --- a/blockchain/blockchain.go +++ b/blockchain/blockchain.go @@ -265,26 +265,33 @@ func (bc *BlockChain) FindTransaction(ID []byte) (Transaction, error) { return Transaction{}, errors.New("Transaction does not exist") } + +// SignTransaction fonksiyonu, bir Transaction yapısını imzalar. +// İmzalamak için verilen private anahtar (privKey) kullanılır ve işlemi daha önce yapılmış olan işlemlerle ilişkilendirir. func (bc *BlockChain) SignTransaction(tx *Transaction, privKey ecdsa.PrivateKey) { - prevTXs := make(map[string]Transaction) + prevTXs := make(map[string]Transaction) // Önceki işlemlerin haritasını (map) oluşturur + // İşlemdeki her girdi için önceki işlemi bulup prevTXs haritasına ekler for _, in := range tx.Inputs { - prevTX, err := bc.FindTransaction(in.ID) - Handle(err) - prevTXs[hex.EncodeToString(prevTX.ID)] = prevTX + prevTX, err := bc.FindTransaction(in.ID) // Girdinin referans verdiği önceki işlemi bulur + Handle(err) // Hata durumunda işlemi ele alır + prevTXs[hex.EncodeToString(prevTX.ID)] = prevTX // Önceki işlemi haritaya (map) ekler (ID'si hex olarak kodlanmış olarak) } - tx.Sign(privKey, prevTXs) + tx.Sign(privKey, prevTXs) // Transaction yapısını imzalar } +// VerifyTransaction fonksiyonu, bir Transaction yapısının geçerliliğini doğrular. +// Geçerlilik kontrolü için verilen önceki işlemler haritası (prevTXs) kullanılır. func (bc *BlockChain) VerifyTransaction(tx *Transaction) bool { - prevTXs := make(map[string]Transaction) + prevTXs := make(map[string]Transaction) // Önceki işlemlerin haritasını (map) oluşturur + // İşlemdeki her girdi için önceki işlemi bulup prevTXs haritasına ekler for _, in := range tx.Inputs { - prevTX, err := bc.FindTransaction(in.ID) - Handle(err) - prevTXs[hex.EncodeToString(prevTX.ID)] = prevTX + prevTX, err := bc.FindTransaction(in.ID) // Girdinin referans verdiği önceki işlemi bulur + Handle(err) // Hata durumunda işlemi ele alır + prevTXs[hex.EncodeToString(prevTX.ID)] = prevTX // Önceki işlemi haritaya (map) ekler (ID'si hex olarak kodlanmış olarak) } - return tx.Verify(prevTXs) + return tx.Verify(prevTXs) // Transaction yapısının geçerliliğini doğrular }