| 93 | # Get data for a new, unique site |
| 94 | # Return: [site_address, bip32_index, {"auth_address": "xxx", "auth_privatekey": "xxx", "privatekey": "xxx"}] |
| 95 | def getNewSiteData(self): |
| 96 | import random |
| 97 | bip32_index = random.randrange(2 ** 256) % 100000000 |
| 98 | site_privatekey = CryptBitcoin.hdPrivatekey(self.master_seed, bip32_index) |
| 99 | site_address = CryptBitcoin.privatekeyToAddress(site_privatekey) |
| 100 | if site_address in self.sites: |
| 101 | raise Exception("Random error: site exist!") |
| 102 | # Save to sites |
| 103 | self.getSiteData(site_address) |
| 104 | self.sites[site_address]["privatekey"] = site_privatekey |
| 105 | self.save() |
| 106 | return site_address, bip32_index, self.sites[site_address] |
| 107 | |
| 108 | # Get BIP32 address from site address |
| 109 | # Return: BIP32 auth address |