I have only Waves private key


#1

Hi

I believe I only kept the private key and not the seed phrase. Is it possible to recover the funds with only the public and private keys?


#2

Fixed: found pyWaves that allows to transfer waves and tokens to another address.
Still not found a way to write a loop that calculate balance for each token and send assets to the new address.


#3

Isn’t it possible to send assets only with the private key? :thinking:


#4

This is the standard source code.
For Waves and assets, if I have exactly 10000000 (decimal digits…) with this script I am not able to send ALL balance, due to missing fees calculation.
The same for assets. But for waves the solution is simple, I will try decreasing until I find a number that will be accepted. But how to write a loop that compute exactly how much of the total balance of each asset (and waves too!) to send to the other address?

import pywaves as pw

myAddress = pw.Address(privateKey='CtMQWJZqfc7PRzSWiMKaGmWFm4q2VN5fMcYyKDBPDx6S')
otherAddress = pw.Address('3PNTcNiUzppQXDL9RZrK3BcftbujiFqrAfM')
myAddress.sendWaves(otherAddress, 10000000)
myToken = myAddress.issueAsset('Token1', 'My Token', 1000, 0)
while not myToken.status():
    pass
myAddress.sendAsset(otherAddress, myToken, 50)

#5

The wallet carrying boat can help you.
Bot brings all TOKENs and WAVES balance from old wallet to new wallet.
You only enter 3 data.
1- Old wallet with words or private key
2- New wallet address
3- Sponsor ASSET ID for transfer

The bot automatically reads the old ASSET amounts and transfers them to the new wallet.


#6

Hi mngrcoin
Does your post refer to:


or something else? Please, share the link.


#7

I am now able to iterate in the token list and show something similar to every token balance.
Still the problem is that the balance is not the expected one.
Last row is not able to get me the decimal adjusted balance, or it shows 99999999 for the number 1.

In waves explorer i get

53VHGAEfVNJnByeMbu9… Auct token 2000.00000000
while in python:

Token name: b’Auct token’, Address: 53VHGAEfVNJnByeMbu9…, Decimals:8, or :100000000
, balance: 350000000.0

What is going on? And what is the b’’ surrounding the token name?


import pywaves as pw

myAddress = pw.Address(privateKey=‘prikey’)
print(“Public key:” + myAddress.publicKey)
print(“Your balance without decimals is %18d” % myAddress.balance())
print(“Your balance is %18f” % (myAddress.balance() / pw.WAVES.decimals))

print(“Assets no: %d” % len(myAddress.assets()))
for assetAddress in myAddress.assets():
aToken=pw.Asset(assetAddress)
print(“Token name: %s” % aToken.name, end=", “)
print(“Address: %s” % assetAddress, end=”, ")
#print(“descr: " + str(aToken.description))
print(“Decimals:” + str(aToken.decimals) + “, or :” + str(10**aToken.decimals))
print(”, balance: " + str(float(aToken.quantity) / pow(10, aToken.decimals)))