Pages:
Author

Topic: Bitcoin; Algoritma Üzerine Yöntemler - page 15. (Read 33212 times)

member
Activity: 183
Merit: 35
April 28, 2019, 08:30:50 AM
Ben konuyu baştan sonra okuduktan sonra bu işi başka şekilde yapmaya karar verdim. Smiley
Yeni çıkan (yaklaşık 2 ay olmuş) bir coin için oclvanitygen in kodunda değişiklik yapıyorum bir grup arkadaşımla beraber, bitmeye geldi.
Başlangıç itibariyle hedefimiz 6- 7 milyon adresi private keyleri ile birlikte üretip bir veritabanına koymak.
sonra bir otomasyon ile private keylerini zaten bildiğimiz adreslere bir tam düğüm üzerinden döne döne bakiye kontrolü yapacağız.
Bu coin popülerleştikçe elbet birileri bu cüzdan adresini üretecek.
olasılığı düşünecek olursak, biz bir grup yazılım mühendisi adayı mesleki mastürbasyon yapıyoruz sanırım.

Konu takipçilerine bir sorum var son olarak,

mysql in ırzına geçmişsiniz.
postgresql ile uğraşılmış.
peki nosql ile bu iş nasıl olur fikri olan var mı?

çok mantıklı. ben sadece bitcoin tarıyorum. sonra eth'a geçeceğim. diğerlerini pek düşünmüyorum.
mysql yada postgresql'i sadece kullanılmış adresleri saklamak için kullanıyorum. Başta oluşturduğum adresleri kaydettim denedim gereksiz olduğuna kanaat getirdim. Birde bulduğum adresleri saklamak için. Adresleri de şu şekil tutuyorum. dosyaAdi.txt şeklinde db'de de bunların heks başlangıç değerini, içinde kaç adet olduğunu, tipini (kısa/uzun) bu şekilde tekrar aynı aralığı oluşturmuyorum. Sözlük saldırısı için kullanılmış şifrelerden oluşan hash, heks, adres üçlüsünü ayrı bir tabloda tutuyorum. Oluşturulan adresleri db'de tutmak ve taramak aşırı gereksiz oluyor. cat vs.. komutlar ile ram'e alıp karşılaştırma yapmak daha kolay. Böylelikle bir dosyayı taradığınızda ki bloğu kaydedip sonrasından taramaya devam edebiliyorsunuz. Şu an oluşturduğum key'lerde istediğim değerin denk gelmesi %13-16 arası Smiley zamanla arttırmaya çalışıyorum.
Zz
legendary
Activity: 1820
Merit: 1077
April 27, 2019, 01:00:28 PM
Ben konuyu baştan sonra okuduktan sonra bu işi başka şekilde yapmaya karar verdim. Smiley
Yeni çıkan (yaklaşık 2 ay olmuş) bir coin için oclvanitygen in kodunda değişiklik yapıyorum bir grup arkadaşımla beraber, bitmeye geldi.
Başlangıç itibariyle hedefimiz 6- 7 milyon adresi private keyleri ile birlikte üretip bir veritabanına koymak.
sonra bir otomasyon ile private keylerini zaten bildiğimiz adreslere bir tam düğüm üzerinden döne döne bakiye kontrolü yapacağız.
Bu coin popülerleştikçe elbet birileri bu cüzdan adresini üretecek.
olasılığı düşünecek olursak, biz bir grup yazılım mühendisi adayı mesleki mastürbasyon yapıyoruz sanırım.

Konu takipçilerine bir sorum var son olarak,

mysql in ırzına geçmişsiniz.
postgresql ile uğraşılmış.
peki nosql ile bu iş nasıl olur fikri olan var mı?
member
Activity: 183
Merit: 35
April 27, 2019, 01:59:00 AM
sıralı ve kullanıcılara otomatik verilecek bir aralık tarama projesi için geliştirilebilir...
daha önceki mesajlarda da konusu geçmişti. vanitygen'in ekran kartı için olan sürümü istenilen aralığı taranacak şekilde değiştirebilen olursa yazarsa iyi olur demiştim. ancak herkesin bireysel çalışmaya devam etmesi daha mantıklı duruyor. bulana kadar taramaya devam  Grin Roll Eyes Cool

Güncelleme olarak : Hala sayı çok büyük denk gelme ihtimali yok diyen arkadaşlara eth'da yapanlar varmış Smiley Bu Hacker Rastgele Şifre Deneyerek 7 Milyon Dolarlık Ethereum Çaldı! (okuması zor gelenlere kullanılan şifreleri deneyerek yapıyor)
member
Activity: 122
Merit: 26
April 19, 2019, 01:50:31 AM
30000 sayfadan sonra baya bir yavaşlıyor...

"""Bu arada yukarıda paylaşılan kod daha önce bir web sitesinin kod bloğu sanırım. Sonradan kopyaları oldukça çıktı. Bu tür siteler sizin sayfaları taramanızı bekler. bulduğunda eğer boşsa veya kullanılmışsa size gösterir. Dolu olduğunda göstermezler Smiley otomatik çekim talebi yaparlar."""

evet bu kod sayfalama mantığı kullanan sitelerde kullanan kod... bu kod ham hali... sitelere güvenmediğim için ve örnek olması için paylaştım...

sıralı ve kullanıcılara otomatik verilecek bir aralık tarama projesi için geliştirilebilir...
member
Activity: 183
Merit: 35
April 18, 2019, 07:56:43 AM
Peki belirli bir sayfadan nasıl başlatabiliriz ?  
örneğin  sayfa  6549490055387654323 ten  başlasın gibi.?

Code:
maxPage = 6549490055387654323
def getRandPage():
maxPage = maxPage +1
return maxPage
mantıken böyle olması lazım. Burada dikkat edilecek nokta, her sayfada 128 anahtarın hesaplanması. sayfa değerinin 0 ile maksimum 904625697166532776746648320380374280100293470930272690489102837043110636674 arasında olması.

Bu maksimum sayfa değerinin nereden geldiğini merak eden varsada belirtelim. Anahtar maks. hexadecimal değeri "0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140" olan değerin onluk tabanda "115792089237316195423570985008687907852837564279074904382605163141518161494336" sayısının 128'e bölünmesi ile elde ediliyor.

Sayfa 6549490055387654323 seçildiğinde heks 0x00000000000000000000000000000000000000000000002D723B4099AAD45980 değerinden başlıyor aralıkta çok ufak bir değer yani. genelde taranabilecek adres aralığı  anahtar değeri 2^248 - maks arasında (hash'i yada rastgele bir değer üretildiğinde 64 uzunluğundaki heks değeri bu aralıkta üretmekte).

Birde  başlarda hızlı giderken bir süre sonra çok yavaşlıyor sorgu, sanırım karşı sunucu sürekli sorgu gönderdiğimiz için oluyor bu.

En baştada demiştim. Lokale bitcoin-core kurup, herhangi bir veritabanına kullanılan adresleri kaydederseniz. oluşturduğunuz adresleri oradan tararsınız. Bulduktan sonra bakiye işlemi yapabilirsiniz. Çünkü yukarıdaki sistemde ağ trafiğinden öte karşıdaki sunucunun engelleme ihtimali yüksek. Veritabanına işlem kayıtlarını değil sadece adresleri kaydettiğinizde daha az yer kaplamakta.

Bu arada yukarıda paylaşılan kod daha önce bir web sitesinin kod bloğu sanırım. Sonradan kopyaları oldukça çıktı. Bu tür siteler sizin sayfaları taramanızı bekler. bulduğunda eğer boşsa veya kullanılmışsa size gösterir. Dolu olduğunda göstermezler Smiley otomatik çekim talebi yaparlar.
legendary
Activity: 2212
Merit: 1112
LLP Programming & Electronics
April 17, 2019, 07:22:36 PM
Peki belirli bir sayfadan nasıl başlatabiliriz ?  

örneğin  sayfa  6549490055387654323 ten  başlasın gibi.?

---

Birde  başlarda hızlı giderken bir süre sonra çok yavaşlıyor sorgu, sanırım karşı sunucu sürekli sorgu gönderdiğimiz için oluyor bu.

Ve o sıralarda   şöyle  bir  hata döndürüyor

Traceback (most recent call last):
  File "BtcChainSorgula.py", line 72, in getWallet
    for balance in balancesRet:
TypeError: 'NoneType' object is not iterable
member
Activity: 183
Merit: 35
April 17, 2019, 11:53:57 AM
yukardaki kodla kimi değişiklikler yapıp benim belirlediğim aralıkta örneğin 8000. sayfa ile 9000. sayfa arasını sıralı nasıl tararız Huh düzenleyebilecek kimse varmıdır?

python bilmiyorum. bilen arkadaşa yazdım. dönüş yaptığımda doğru halini yazarım. netten baktığıma göre şöyle birşey olması lazım Smiley mantık olarak başlangıç değeri 8000 yapıp her seferinde dönen değere 1 ilave edersin. istediğin değerden fazla olduğunda programdan çıkması lazım.

Code:
maxPage = 7999
def getRandPage():
if maxPage >= 9000:
 sys.exit("9000 bitti")
else:
 maxPage=maxPage+1
 return maxPage

Düzenleme : return etmemişik. mantık hatası da yapmışım Smiley
Düzenleme 2 : kafa yerinde olmayınca tek yere bakmışım. diğer siteden veri çekmesi içinde düzenleme gerekiyormuş Cheesy
member
Activity: 122
Merit: 26
April 17, 2019, 03:05:25 AM
yukardaki kodla kimi değişiklikler yapıp benim belirlediğim aralıkta örneğin 8000. sayfa ile 9000. sayfa arasını sıralı nasıl tararız Huh düzenleyebilecek kimse varmıdır?
member
Activity: 122
Merit: 26
April 17, 2019, 02:54:33 AM
random Sayfalama tekniği kullanılarak bakiye tarama
https://keys.lol/bitcoin/804588564449641383043243846270166584295311723814047148385776539071216133489
burdaki yöntemin aynısı sadece otomatik çalışıyor
Test için 68. satırda parantez içindeki page silip 804588564449641383043243846270166584295311723814047148385776539071216133489 sayısını yapıştırın


import threading
import os
import time
import random
import requests
import json
from bit import Key
from bit.format import bytes_to_wif
import traceback

maxPage = pow(2,256) / 128
#maxPage = 904625697166532776746648320380374280100293470930272690489102837043110636675

def getRandPage():
    return random.randint(1, maxPage)

def getPage(pageNum):
    keyList = []
    addrList = []
    addrStr1 = ""
    addrStr2 = ""
    num = (pageNum - 1) * 128 + 1
    try:
        for i in range(num, num + 128):
            key1 = Key.from_int(i)
            wif = bytes_to_wif(key1.to_bytes(), compressed=False)
            key2 = Key(wif)
            keyList.append(hex(i)[2:])
            addrList.append(key2.address)
            addrList.append(key1.address)
            if len(addrStr1): addrStr1 = addrStr1 + "|"
            addrStr1 = addrStr1 + key2.address
            if len(addrStr2): addrStr2 = addrStr2 + "|"
            addrStr2 = addrStr2 + key1.address
    except:
        pass
    return [keyList, addrList, addrStr1, addrStr2]

def getBalances(addrStr):
    balances = "security"
    while True:
        if "security" not in balances: break
        secAddr = balances.split("effects address ")
        if len(secAddr) >= 2:
            secAddr = secAddr[1].split(".")[0]
            addrStr = addrStr.replace(secAddr + "|", "")
            addrStr = addrStr.replace("|" + secAddr, "")
        try:
            r = requests.get(url='http://blockchain.info/multiaddr?active=%s' % addrStr, timeout=5)
            balances = r.text
        except:
            return
    try:
        balances = json.loads(balances)
        balances = balances['addresses']
    except:
        print (balances)
    return balances

getCount = 0
fp_found = open("found.txt", "w+")
fp_fund = open("fund.txt", "w+")

def getWallet():
    global getCount
    while True:
        page = getRandPage()
        pageRet = getPage(page)

        try:
            balancesRet = getBalances(pageRet[2])
            for balance in balancesRet:
                getCount = getCount + 1
                if balance['final_balance'] <= 0 and balance['total_sent'] <= 0: continue
                key = ""
                isCompress = 0
                for i in range(0, len(pageRet[1])):
                    if balance['address'] == pageRet[1]:
                        key = pageRet[0][int(i/2)]
                        if i % 2 == 1: isCompress = 1
                        break
                if key == "": continue
                fp_found.write(str(isCompress) + " " + str(balance['final_balance']) + " " + str(balance['total_sent']) + " " + key + " " + balance['address'] + "\n")
                if balance['final_balance'] > 0:
                    fp_fund.write(str(isCompress) + " " + str(balance['final_balance']) + " " + str(balance['total_sent']) + " " + key + " " + balance['address'] + "\n")
                print (isCompress, balance['final_balance'], balance['total_sent'], key, balance['address'])

            balancesRet = getBalances(pageRet[3])
            for balance in balancesRet:
                getCount = getCount + 1
                if balance['final_balance'] <= 0 and balance['total_sent'] <= 0: continue
                key = ""
                isCompress = 1
                for i in range(0, len(pageRet[1])):
                    if balance['address'] == pageRet[1]:
                        key = pageRet[0][int(i/2)]
                        if i % 2 == 1: isCompress = 1
                        break
                if key == "": continue
                fp_found.write(str(isCompress) + " " + str(balance['final_balance']) + " " + str(balance['total_sent']) + " " + key + " " + balance['address'] + "\n")
                if balance['final_balance'] > 0:
                    fp_fund.write(str(isCompress) + " " + str(balance['final_balance']) + " " + str(balance['total_sent']) + " " + key + " " + balance['address'] + "\n")
                print (isCompress, balance['final_balance'], balance['total_sent'], key, balance['address'])
            fp_found.flush()
            fp_fund.flush()
        except:
            traceback.print_exc()
            continue
        clearScreen()
        print (getCount)
        print (page)

def clearScreen():
    os.system('clear')

def main():
    threads = []
    for i in range(1):
        threads.append(threading.Thread(target=getWallet,args=()))
    for t in threads:
        time.sleep(1.0)
        t.start()
    for t in threads:
        t.join()

if __name__ == '__main__':
    main()
member
Activity: 183
Merit: 35
April 09, 2019, 08:27:04 AM
...
Bu arada  bu  Vanitygen  de    GPU desteği  var mı ?  ..   Bu işler  CPU ile  zor  olur çünkü.
...
Vanitygen PLUS v1.53'de oclvanitygen var. Ekran kartlarının gücünü birleştirip kullanabilirsiniz.
legendary
Activity: 2212
Merit: 1112
LLP Programming & Electronics
April 03, 2019, 11:16:49 PM
Değerli konu takipçileri,
az önce çok cici bir araç buldum. https://github.com/IntegersOfK/PersonalVanityPool
bununla kolaylıkla kendi VanityPoll umunuz bulup belli bir adres için hep birlikte çalışabilirsiniz gibi geldi bana.

   Görünce  hızlıca  bir deneyeyim dedim ama , bir  yerde  hata  yaptım sanırım. DNS lerde  olabilir.  Kafa çok dolu şu sıralar.  Ama  uygun bir zamanda deneyeceğim.

Bu arada  bu  Vanitygen  de    GPU desteği  var mı ?  ..   Bu işler  CPU ile  zor  olur çünkü.

Bende çok yüksek  CU  var  . Computing Unit / Computing power  vs işte  .  Arada  denemeler yapıyorum ama  sistemler  madencilik için çalışıyor ve çok meşgul etmek istemiyorum.  Arada kafama eserse oturup kurcalıyorum bu işleri biraz.  Birde kendi işlerimden dolayı pek vakit kalmıyor.
legendary
Activity: 3150
Merit: 1516
April 03, 2019, 09:29:47 PM
Değerli konu takipçileri,
az önce çok cici bir araç buldum. https://github.com/IntegersOfK/PersonalVanityPool
bununla kolaylıkla kendi VanityPoll umunuz bulup belli bir adres için hep birlikte çalışabilirsiniz gibi geldi bana.
member
Activity: 183
Merit: 35
March 10, 2019, 08:13:24 AM
ben yazılım olarak zayıfım ama projeye her türlü destek vermeye hazırım dediğin şekilde evrilmesi bu konu başlığı altında toplanan insanlar için iyi bir sonuç olur...

1. önerim kullanılmış adreslerden bir data oluşturup adres üretip bu data içinde aramak... (ve hızlandırmanın yöntemlerini bulmak aşağıdaki sitede iyi bir sistemle saniyede 100 k taramak mümkün ama ne kadar güvenilir bilmiyorum)
örneğin https://privatekeys.pw/scanner
2. önerim sayfalama  https://keys.lol/  burda yapılması gereken sanırım işi otomatiğe bağlamak ve kendi node mizde bu işi yapmak
3. belli bir adresi çözmeye yönelik adımları işletmeye ve anlamaya devam etmek (bunu ilk iki yöntemin dışında ayrı bir yolda yürütmek gerekiyor)

sizin önerileriniz nedir?
daha öncede aynı konuda benzer mesaj yazmıştım. fikrim hala aynı.  Roll Eyes

konu ölmesin, bir hevesle başlayanlar vazgeçtiler ise kemik kitle ile devam edelim  Grin
member
Activity: 122
Merit: 26
January 26, 2019, 02:32:41 AM
ben yazılım olarak zayıfım ama projeye her türlü destek vermeye hazırım dediğin şekilde evrilmesi bu konu başlığı altında toplanan insanlar için iyi bir sonuç olur...

1. önerim kullanılmış adreslerden bir data oluşturup adres üretip bu data içinde aramak... (ve hızlandırmanın yöntemlerini bulmak aşağıdaki sitede iyi bir sistemle saniyede 100 k taramak mümkün ama ne kadar güvenilir bilmiyorum)
örneğin https://privatekeys.pw/scanner
2. önerim sayfalama  https://keys.lol/  burda yapılması gereken sanırım işi otomatiğe bağlamak ve kendi node mizde bu işi yapmak
3. belli bir adresi çözmeye yönelik adımları işletmeye ve anlamaya devam etmek (bunu ilk iki yöntemin dışında ayrı bir yolda yürütmek gerekiyor)

sizin önerileriniz nedir?
legendary
Activity: 3150
Merit: 1516
January 25, 2019, 04:56:55 AM
Konu takipçilerine bir önerim olacak,
aranızda görüşüp bir yöntemde birleşseniz.
bende bu iş için size merkezi nokta olarak hizmet verecek 2 sunucu tahsis etsem.
birini veritabanı diğerini bitcoin tam düğüm olarak çalıştırsam.
kullanılan kodları github a koysak. Hep beraber bir ekip çalışması yapılsa.
hatta projeyi anlatır bir web sitesi bile hazırlanabilir. ben birde domain alırım bunun için.
Ne dersiniz?

yorumlarınızı merak ediyorum.
member
Activity: 183
Merit: 35
January 14, 2019, 10:18:15 AM
Bu projeye sonradan katılarak yaklaşık 130 Milyar adres üretip taradık üretilen private keyi elimizde bulunan bu 130 milyarlık adresi blockchainden çektiğimiz 170 milyon adresle karşılaştırdık, bu karşılaştırma sonucunda eşleşen adres olmadı biz de projeyi bugün itibari ile sonlandırdık.
...
Şimdi bu başlık altında adres eşleşmesi yakalayan arkadaşlara inanmıyorum diyemiyorum ama bu şansla mutlaka sayısal be piyango alma konusunda şanslarını denesinler diyorum Cheesy
ürettiğiniz adresleri sakladınız mı? sakladı iseniz key-adres formatında bir yere yükleyip paylaşma imkanınız var mı?

belirli bir anahtar değerinden başlatarak belirli değerde üreterek aradığımda denk gelmişti, daha önce paylaşmıştım resimde ancak sonrası gereksiz tartışmalar olacağından dolayı kaldırdım. adres havuzu oluşturarak bir yöntem bulmaya çalışıyorum ki en zoru ve mantıklısı bu olacak. çünkü belirli bir adrese yönelik adresi formülü çalıştırdığında 100 Milyon'da bir kez çalıştırdığımda geliyorsa benim için başarılı sayılabilir Smiley şu an denemede belirli karakter katarı ile başlayan oluşturduğumda toplamda %6 (%9.3 maks.) gibi bir oranla 2,3,4,5,6 uzunluğunda denk geliyor. (vanitygen'deki mantık, ama daha kısa sürede ve istenilen kelime arama değerini daha az aralık tarayarak bulmak.) amacım istediğim uzunluğu daha kolay oluşturan formül 1 milyarda 1 tane oluştursa bile buna değer Smiley
legendary
Activity: 3150
Merit: 1516
January 14, 2019, 08:41:42 AM
Yaklaşımınız ile alakalı bir durum bu,
konu üzerine çalışan arkadaşlar tüm bitcoin adres uzayını hedeflemediler.
bildiğim kadarı ile, vanitygen ile üretilebilen 1 ile başlayan adresler üzerinde yapıldı çalışmalar.
toplam uzaya kıyasla çok daha küçük (yinede aslında çook büyük) bir uzay hedeflendi.

Zaten konunun amacı dolu cüzdan bulmak patlatmak değil. Bitcoin adresleme yapısı ile ilgili olarak deneyim kazanmaktı.
Konuyu takip eden kişilerin bu konuda bir çok bilgi edindiğini gözlemledim. Bu açıdan mutluyum.
Dolu cüzdana denk gelenler oldu ama biride çıkıp boşalttık cüzdanları demedi.
Buda olaya etik olarak da doğru yaklaşıldığını gösteriyor.

full member
Activity: 616
Merit: 118
January 14, 2019, 08:38:34 AM
blockexplorer ile hız bir indexleme hala yapamadım :d

ancak bende sanırım 2 milyar civarı adres taraması gerçekleştirdim ve elimdeki adreslemeye göre karşılaştırdığım halde hala sonuç 0
full member
Activity: 602
Merit: 122
January 14, 2019, 07:56:38 AM
Bu projeye sonradan katılarak yaklaşık 130 Milyar adres üretip taradık üretilen private keyi elimizde bulunan bu 130 milyarlık adresi blockchainden çektiğimiz 170 milyon adresle karşılaştırdık, bu karşılaştırma sonucunda eşleşen adres olmadı biz de projeyi bugün itibari ile sonlandırdık.

Yaptığımız denemede karşılaştığımız sonuç, Bir insan hayatı süresince tüm bitcoin adres havuzunun %0.00000000000001 'ini bile taramak imkansız, Bu kadar küçük bir olasılıkla daha önce kullanılmış bir adres (Bakın içinde bakiye olan demiyorum daha önce en az 1 kez transaction görmüş adres) ile eşleşme yakalamak tartışmasız "OLANAKSIZ". Burada şöyle bir savunma yapılabilir biz 130 milyar adres üretip 1 tane bile eşleşme bulamamışızdır ama birisi çıkıp daha ilk üretilen adreste eşleşme yakalayabilir bu şanstır evet korkunç büyüklükteki bir şanstan bahsediyoruz burada ama var olduğu da yadsınamaz.

Şimdi bu yazdıklarımızı okuyup e sen önce olanaksız demişsin sonra da şans demişsin bu ne perhiz bu ne lahana turşusu diyebilir, aradaki farkı açıklayayım.

Şimdi Milli Piyango idaresi düzenli olarak çekiliş yapıyor siz 1 tane bilet alıyorsunuz ortalama üretilen bilet miktarı yaklaşık 10 milyon kadar olsun yani sizin şanslı numaralı bileti almış olma ihtimaliniz 1/1000000, 2 tane bilet aldığınızda şansınız 2 katına çıkıyor 2/100000 oluyor, Hadi risk aldınız gözünüzü kararttınız elinizde 1 milyon 200 bin liranız var dediniz ki ulan ben neyim var neyim yok her şeyimi bu işe yatıracağım, çeyrek bilet 2,5 TL olsa 5000000 bilet alabilirsiniz bu da kazanma şansınızı 1/2 yapıyor hala şansa kalmış işiniz ama şansınızı kontrol altına almış oluyorsunuz.

Fakat bitcoin konusunda işler biraz değişiyor, elinizde ne kadar büyük bir donanım olursa olsun adres havuzunun genel büyüklüğünü göz önüne aldığınızda şansınızı virgülden sonra 1 birim dahi oynatamıyorsunuz.

Şimdi bu başlık altında adres eşleşmesi yakalayan arkadaşlara inanmıyorum diyemiyorum ama bu şansla mutlaka sayısal be piyango alma konusunda şanslarını denesinler diyorum Cheesy
member
Activity: 122
Merit: 26
January 10, 2019, 03:47:39 AM
İşe yarar bir kod...(32 GB Ramli ve güçlü bir işlemci ile a.txt tüm adresler yaklaşık 10 GB b.txt yaklaşık 1 GB karşılaştırma süresi 5 dakika) (4gb ramli bir bilgisayar ile a.txt 1 gb yaklaşık 32 m bakiyeli adres b.txt 100 mb yaklaşık 3 m oluşturulmuş adres karşılaştırma 2 dakika)  her iki sistemde de denenmiştir...

tüm satırları okuyup a ve b txt teki aynı satırı yakalarsa c.txt e atar... (hem eth hemde btc için kullanabilir)...

Herkese bol şans...

a_dosyasi = open("a.txt")
b_dosyasi = open("b.txt")
a_icerik = a_dosyasi.read()
a_dosyasi.close()
b_icerik = b_dosyasi.read()
b_dosyasi.close()

ast = set(a_icerik.splitlines())
bst = set(b_icerik.splitlines())

fark = ast.intersection(bst)
son = []
for i in fark:
    son.append(i+"\n")

c_dosyasi = open("c.txt", "w")
c_dosyasi.writelines(son)
c_dosyasi.close()

Pages:
Jump to: