@@ -9,12 +9,16 @@ import (
99 "os"
1010)
1111
12- const walletFile = "./tmp/wallets_%s.data" //Badgerı kullanmıycaz buradakı cuzdsanı saklamak ıcın
12+ const walletFile = "./tmp/wallets_%s.data"
1313
1414type Wallets struct {
1515 Wallets map [string ]* Wallet
1616}
1717
18+ func init () {
19+ gob .Register (elliptic .P256 ())
20+ }
21+
1822// CreateWallets fonksiyonu, bir Wallets nesnesi olusturur
1923func CreateWallets (nodeId string ) (* Wallets , error ) {
2024 wallets := Wallets {} // wallet nesnesi olusturulur
@@ -47,44 +51,52 @@ func (ws *Wallets) GetAllAddress() []string {
4751 return addresses // adreslerin listesi döndürülür
4852}
4953
50- // LoadFile fonksiyonu, dosya okunur
54+ // LoadFile fonksiyonu, cüzdanları dosyadan yükler
5155func (ws * Wallets ) LoadFile (nodeId string ) error {
5256 walletFile := fmt .Sprintf (walletFile , nodeId )
53- if _ , err := os .Stat (walletFile ); os .IsNotExist (err ) { // dosya yoksa
54- return err // hata döndürür
57+ if _ , err := os .Stat (walletFile ); os .IsNotExist (err ) {
58+ return err
5559 }
5660
57- var wallets Wallets // wallet nesnesi olusturulur
58-
59- fileContent , err := os .ReadFile (walletFile ) // dosya okunur
61+ var walletsData map [string ][]byte
6062
63+ fileContent , err := os .ReadFile (walletFile )
6164 if err != nil {
62- log .Panic (err )
63- } // hata döndürür
64- gob .Register (elliptic .P256 ()) // elliptic nesnesi olusturulur
65- decoder := gob .NewDecoder (bytes .NewReader (fileContent )) // decoder nesnesi olusturulur
66- err = decoder .Decode (& wallets ) // decoder ile dosya okunur
65+ return err
66+ }
6767
68+ decoder := gob .NewDecoder (bytes .NewReader (fileContent ))
69+ err = decoder .Decode (& walletsData )
6870 if err != nil {
69- log . Panic ( err ) // hata döndürür
71+ return err
7072 }
71- ws .Wallets = wallets .Wallets // wallet nesnesi olusturulur
7273
73- return nil // hata yok
74+ wallets := make (map [string ]* Wallet )
75+ for addr , data := range walletsData {
76+ wallets [addr ] = DeserializeWallet (data )
77+ }
78+
79+ ws .Wallets = wallets
80+ return nil
7481}
7582
76- // SaveFile fonksiyonu, dosya kaydedilir
83+ // SaveFile fonksiyonu, cüzdanları dosyaya kaydeder
7784func (ws * Wallets ) SaveFile (nodeId string ) {
7885 var content bytes.Buffer
7986 walletFile := fmt .Sprintf (walletFile , nodeId )
8087
81- gob .Register (elliptic .P256 ()) // elliptic nesnesi olusturulur
82- encoder := gob .NewEncoder (& content ) // encoder nesnesi oluşturulur
83- err := encoder .Encode (ws ) // encoder ile dosya kaydedilir
88+ var walletsData = make (map [string ][]byte )
89+ for addr , wallet := range ws .Wallets {
90+ walletsData [addr ] = wallet .Serialize ()
91+ }
92+
93+ encoder := gob .NewEncoder (& content )
94+ err := encoder .Encode (walletsData )
8495 if err != nil {
8596 log .Panic (err )
8697 }
87- err = os .WriteFile (walletFile , content .Bytes (), 0644 ) // dosya kaydedilir
98+
99+ err = os .WriteFile (walletFile , content .Bytes (), 0644 )
88100 if err != nil {
89101 log .Panic (err )
90102 }
0 commit comments