create account

Howto to use beempy for cold transaction signing by holger80

View this thread on: hive.blogpeakd.comecency.com
· @holger80 ·
$183.28
Howto to use beempy for cold transaction signing
Cold transaction signing is a process in which the account keys are only used in an offline machine. `beempy` ([github](https://github.com/holgern/beem)) can be used for this purpose. It can be installed by
```
pip3 install beem
```
Check the github readme for more information.
## Check your nodes
```
beempy currentnode
```
should show that we are on hive. If not change it by
```
beempy updatenodes --hive
```

## Store the unsigned transaction as json
We will use the `-xd -e 3600` as parameter, which will prevent signing and broadcasting (`-xd`) and set the expire time to 1 hour (`-e 3600`).

For this example, we will transfer 1 HIVE from holger80 to beempy.

On windows, we need to copy the output from beempy and store it in a file e.g. `transfer.json`.

```
beempy -xd -e 3600 transfer -a holger80 beempy 1 HIVE test
```
For linux, you can use the `>` operation
```
beempy -xd -e 3600 transfer -a holger80 beempy 1 HIVE test > transfer.json
```

Now you can validate the transaction and check the amount and the account name. You have now 1 hour to sign and broadcast the signed transaction to the network.

## Sign the transaction on the offline machine
We need now to copy the file to the offline machine. This machine has also beempy installed. 

The following command will sign the transaction and we will be asked to enter a key. It is either possible to directly enter the necessary account key or when the key has already been stored, the wallet password can be entered.
```
beempy sign -i transfer.json -o sign_transfer.json
```
We have now a signed transfer, which we will broadcast in the next step.
## Broadcasting the signed transaction
In the last step, we can now broadcast the signed transaction on a machine with internet connection. This needs to be done within 1 hour. The `broadcast` command do not need any keys.

```
beempy broadcast --file sign_transfer.json
```

It has worked:
![image.png](https://files.peakd.com/file/peakd-hive/holger80/mD721GYS-image.png)

## Changing the account recovery
Using cold transaction signing is a good idea when using the owner key, as for example for changing the account recovery.

```
beempy -xd -e 3600 changerecovery -a holger80 account.recovery
```
will create a transaction which will change the recovery account from holger80 to account.recovery.The transaction can be signed and broadcasted as shown above.

***
*If you like what I do, consider casting a vote for me as witness on [Hivesigner](https://hivesigner.com/sign/account-witness-vote?witness=holger80&approve=1) or on [PeakD](https://peakd.com/witnesses)*.
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 289 others
👎  ,
properties (23)
authorholger80
permlinkhowto-to-use-beempy-for-cold-transaction-signing
categoryhive-108365
json_metadata{"app":"peakd/2020.04.4","format":"markdown","tags":["beempy","cold-signing","howto","python"],"links":["https://github.com/holgern/beem","https://hivesigner.com/sign/account-witness-vote?witness=holger80&approve=1","/witnesses"],"image":["https://files.peakd.com/file/peakd-hive/holger80/mD721GYS-image.png"]}
created2020-04-22 23:12:15
last_update2020-04-22 23:12:15
depth0
children5
last_payout2020-04-29 23:12:15
cashout_time1969-12-31 23:59:59
total_payout_value102.254 HBD
curator_payout_value81.029 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,591
author_reputation358,857,509,568,825
root_title"Howto to use beempy for cold transaction signing"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd0
post_id96,954,597
net_rshares159,230,078,275,289
author_curate_reward""
vote details (355)
@amico ·
___
A huge hug from @amico! 🤗
👍  
properties (23)
authoramico
permlinkre-howto-to-use-beempy-for-cold-transaction-signing-20200422t231602z
categoryhive-108365
json_metadata"{"app": "rewarding/0.1.0"}"
created2020-04-22 23:16:15
last_update2020-04-22 23:16:15
depth1
children0
last_payout2020-04-29 23:16:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length32
author_reputation51,076,240,298,517
root_title"Howto to use beempy for cold transaction signing"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id96,954,629
net_rshares460,072,070
author_curate_reward""
vote details (1)
@chitty ·
I have picked your post for my daily hive voting initiative, Keep it up and Hive On!!
properties (22)
authorchitty
permlinkre-howto-to-use-beempy-for-cold-transaction-signing-20200424t000145
categoryhive-108365
json_metadata""
created2020-04-24 00:01:45
last_update2020-04-24 00:01:45
depth1
children0
last_payout2020-05-01 00:01:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length86
author_reputation86,901,300,608,582
root_title"Howto to use beempy for cold transaction signing"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id96,969,771
net_rshares0
@edicted ·
$0.39
Ah ha... what a coincidence! 

https://peakd.com/dsteem/@edicted/changing-recovery-account-with-dsteem-api-possible-precursor-to-hardware-wallet

Seriously though I want an airgap wallet... would be so badass. 
👍  
👎  
properties (23)
authoredicted
permlinkre-holger80-q97s38
categoryhive-108365
json_metadata{"tags":["hive-108365"],"app":"peakd/2020.04.4"}
created2020-04-23 00:02:00
last_update2020-04-23 00:02:00
depth1
children0
last_payout2020-04-30 00:02:00
cashout_time1969-12-31 23:59:59
total_payout_value0.196 HBD
curator_payout_value0.195 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length210
author_reputation3,487,917,156,251,768
root_title"Howto to use beempy for cold transaction signing"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id96,954,977
net_rshares561,594,272,003
author_curate_reward""
vote details (2)
@hamsterpoweriii ·
$0.27
Thanks for sharing.

Can you change your master/owner keys with beempy as well?
To create a truly offline wallet?
👍  
👎  
properties (23)
authorhamsterpoweriii
permlinkre-holger80-q9b3x9
categoryhive-108365
json_metadata{}
created2020-04-24 19:10:27
last_update2020-04-24 19:10:27
depth1
children1
last_payout2020-05-01 19:10:27
cashout_time1969-12-31 23:59:59
total_payout_value0.137 HBD
curator_payout_value0.137 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length113
author_reputation6,130,323,617,855
root_title"Howto to use beempy for cold transaction signing"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id96,980,936
net_rshares531,041,897,679
author_curate_reward""
vote details (2)
@holger80 ·
$0.03
This command is currently missing in beempy, I will add it to the next beem/beempy release.
👍  , , , ,
properties (23)
authorholger80
permlinkre-hamsterpoweriii-q9b6s8
categoryhive-108365
json_metadata{"tags":["hive-108365"],"app":"peakd/2020.04.5"}
created2020-04-24 20:12:09
last_update2020-04-24 20:12:09
depth2
children0
last_payout2020-05-01 20:12:09
cashout_time1969-12-31 23:59:59
total_payout_value0.014 HBD
curator_payout_value0.013 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length91
author_reputation358,857,509,568,825
root_title"Howto to use beempy for cold transaction signing"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id96,981,919
net_rshares60,012,951,563
author_curate_reward""
vote details (5)