Tier 4 Fund Management Discussion

Thanks for creating that tool!
I’m looking forward to testing it.

I’m currently syncing the testnet blockchain.
BT9AWq9r1i6kghZc6LtrvNb2wRFh7JLCdP doesn’t look like a testnet NBT address, though. Do we start on the real blockchain?

I don’t know of a testnet address with positive balance. By the way, you should still be able to create an address and pubkey while syncing the blockchain.

Happy to move some test NuBits to an address of your choice. Just let me know the testnet address. It might take a while as I have to synchronise the testnet blockchain first though. The current one I have is on a fork and stuck.

Thanks. This is a 2-of-3 address made out of the public keys given by @jooize , @ttutdxh and myself:

beeFAEa7AqQbmhC5qzxyeNLhvoR9MTKAdJ

Let’s burn some testcoins! Do you have testnet coins?

Hmm I also have trouble syncing the testnet blockchain. Perhaps using the testnet is more pain that it’s worth. We’ll play with real money instead. Here’s a mainnet address:

{
“isvalid” : true,
“address” : “BHaPLPkrd6ZaJV9Kj3pykwDz76YVgNtkvN”,
“ismine” : true,
“isscript” : false,
“pubkey” : “034b0bd0f653d4ac0a2e9e81eb1863bb8e5743f6cb1ea40d845b939c225a1a80ff”,
“iscompressed” : true,
“account” : “”
}

Please post public keys of a mainnet address.

I’ll chip in 0.5 NBT for the multisig address for testing purposes.

Also note that the scripts and the short guide above have been updated.

1 Like

I am, but as I’m stuck on syncing the blockchain at block 558859 I will have a hard time doing something useful with it.

Nevertheless:

validateaddress bUwH2742ASyVGYWWzdqMaLXiniRc5AFXBL
{
    "isvalid" : true,
    "address" : "bUwH2742ASyVGYWWzdqMaLXiniRc5AFXBL",
    "ismine" : true,
    "isscript" : false,
    "pubkey" : "02dcbb5367002e86df13d9c5689aa222632e22b3df8d745ac903adc9dd4c65781c",

As there seems to be trouble with syncing the testnet (I used the bootstrap file, btw.), here’s a mainnet address:

validateaddress BKV6t6mw23n1puZUeefY56wZjqcQjvEBKH
{
    "isvalid" : true,
    "address" : "BKV6t6mw23n1puZUeefY56wZjqcQjvEBKH",
    "ismine" : true,
    "isscript" : false,
    "pubkey" : "02a144af74d018501f03d76ead130433335f969772792ec39ce389c8a234155259",
    "iscompressed" : true,

My pubkey is the same, there is no need to create a new secret key for another blockchain, and the public key is the same in all of them using the same secret. The only thing that changes is the actual single key address of that secret for the new chain, but that is not a problem since we are working with the multisig one.

Personally I find more useful to correctly backup and manage a single secret than a bunch of new ones, I can even memorize the seed and generate the key here http://ttutdxh-nubits.github.io/cointoolkit/#newAddress from everywhere.

Also, the multisig address changes depending on the order of their public keys, so I propose order them lexicographically to end up with the same address.

Again my pubkey is 03661a4370dfcfbcea25d1800057220f4572b6eecab95bb0670e8676a9e34451dc

I’m going to use Nu.app at least for now, and I couldn’t import the private key from testnet for use with mainnet, so here’s my (backed up) mainnet address.

validateaddress BAg28y78t2FyQKsWuFoTpHFuXdFjMyGeCs
{
"isvalid" : true,
"address" : "BAg28y78t2FyQKsWuFoTpHFuXdFjMyGeCs",
"ismine" : true,
"isscript" : false,
"pubkey" : "0234139729dd413c84a71a0bfd6f236790be861b37311cef3240277c940e4b0c07",
"iscompressed" : true,
"account" : "FLOT-2015-11-22"
}

Unless you really recommend me to begin generating with a seed now?

Here is my mainnet address:

{
“isvalid” : true,
“address” : “BTR6mGmw16fWpigLh8YZ3GRnfc3EZSSqgD”,
“ismine” : true,
“isscript” : false,
“pubkey” : “02547427fc2ea3a0ab9ef70f5e1640ff5112b113f65696948f992bd0770b942571”,
“iscompressed” : true,
“account” : “FLOT-2015-11-22”
}

1 Like

@ttutdxh You’re right.

@jooize When you need to use the scripts, you can restart Nu.app with the argument “-server”. Like “/path/nu -server”. You don’t have to do it now, but it’s probably a good idea to make a shortcut that runs with -server by default.

There are 5 people now; here’s the multisig address:

addmultisigaddress 3 '[“034b0bd0f653d4ac0a2e9e81eb1863bb8e5743f6cb1ea40d845b939c225a1a80ff”,
“02a144af74d018501f03d76ead130433335f969772792ec39ce389c8a234155259”,
“03661a4370dfcfbcea25d1800057220f4572b6eecab95bb0670e8676a9e34451dc”,
“0234139729dd413c84a71a0bfd6f236790be861b37311cef3240277c940e4b0c07”,
“02547427fc2ea3a0ab9ef70f5e1640ff5112b113f65696948f992bd0770b942571”]'

BqyRzFtWXDmjxrYpyJD42MLE5xc8FrB4js

I’ve put 0.5 NBT in this address and updated my repositories accordingly.
Someone should try to create and sign a transaction of sending 0.1 NBT to this address: BXKidrUiYNgRmDeDX61k6CASEJ2HjM8pUF

Should my_id in main.py be changed? Update: Appears so.


python main.py --recipient BXKidrUiYNgRmDeDX61k6CASEJ2HjM8pUF --amount 0.1
Updating address snapshot...
[master 42b9c9a] 1448235967.94
 1 file changed, 1 insertion(+), 1 deletion(-)
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 349 bytes | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
To git@github.com:jooize/flot-operations.git
   459d2da..42b9c9a  master -> master
Done.

This is your transaction hex:
01000000c0535256011266afa53b463bbd05b71433014115d3e90cc638774189db05a30d8eaf2f77e50100000000ffffffff02e80300000000000017a91426c6f88ca8a0a47b6a015eac69c442b12f715e9f873c0f00000000000017a914f35b24f264597d66ba8c366a5005824bb6a06138870000000042

```

Like this?

Yes. Glad to see it working. “my_id” in main.py isn’t used yet - all settings are in config.py. I’d be surprised if the script couldn’t run without it being changed.

The transaction hex looks right. I haven’t added signing yet; depending on the workflow maybe I should. I’ve signed it:

{
“hex” : “01000000c0535256011266afa53b463bbd05b71433014115d3e90cc638774189db05a30d8eaf2f77e501000000fa00493046022100909aa3b88a39997e621fa760ab54865777c66a1bd7b8b4642de703c5a76ed704022100de44517cbe293fe411aff5ceb72eb55f843e48feb10a190bbe131b9a2a9a6015014cad5321034b0bd0f653d4ac0a2e9e81eb1863bb8e5743f6cb1ea40d845b939c225a1a80ff2102a144af74d018501f03d76ead130433335f969772792ec39ce389c8a2341552592103661a4370dfcfbcea25d1800057220f4572b6eecab95bb0670e8676a9e34451dc210234139729dd413c84a71a0bfd6f236790be861b37311cef3240277c940e4b0c072102547427fc2ea3a0ab9ef70f5e1640ff5112b113f65696948f992bd0770b94257155aeffffffff02e80300000000000017a91426c6f88ca8a0a47b6a015eac69c442b12f715e9f873c0f00000000000017a914f35b24f264597d66ba8c366a5005824bb6a06138870000000042”,
“complete” : false
}

Try to add your signature to my hex. I’m not sure whether you need to also do addmultisignature before signing the transaction.

Alright, I must have changed two things at once.

signrawtransaction 01000000c0535256011266afa53b463bbd05b71433014115d3e90cc638774189db05a30d8eaf2f77e501000000fa00493046022100909aa3b88a39997e621fa760ab54865777c66a1bd7b8b4642de703c5a76ed704022100de44517cbe293fe411aff5ceb72eb55f843e48feb10a190bbe131b9a2a9a6015014cad5321034b0bd0f653d4ac0a2e9e81eb1863bb8e5743f6cb1ea40d845b939c225a1a80ff2102a144af74d018501f03d76ead130433335f969772792ec39ce389c8a2341552592103661a4370dfcfbcea25d1800057220f4572b6eecab95bb0670e8676a9e34451dc210234139729dd413c84a71a0bfd6f236790be861b37311cef3240277c940e4b0c072102547427fc2ea3a0ab9ef70f5e1640ff5112b113f65696948f992bd0770b94257155aeffffffff02e80300000000000017a91426c6f88ca8a0a47b6a015eac69c442b12f715e9f873c0f00000000000017a914f35b24f264597d66ba8c366a5005824bb6a06138870000000042
{
"hex" : "01000000c0535256011266afa53b463bbd05b71433014115d3e90cc638774189db05a30d8eaf2f77e501000000fa00493046022100909aa3b88a39997e621fa760ab54865777c66a1bd7b8b4642de703c5a76ed704022100de44517cbe293fe411aff5ceb72eb55f843e48feb10a190bbe131b9a2a9a6015014cad5321034b0bd0f653d4ac0a2e9e81eb1863bb8e5743f6cb1ea40d845b939c225a1a80ff2102a144af74d018501f03d76ead130433335f969772792ec39ce389c8a2341552592103661a4370dfcfbcea25d1800057220f4572b6eecab95bb0670e8676a9e34451dc210234139729dd413c84a71a0bfd6f236790be861b37311cef3240277c940e4b0c072102547427fc2ea3a0ab9ef70f5e1640ff5112b113f65696948f992bd0770b94257155aeffffffff02e80300000000000017a91426c6f88ca8a0a47b6a015eac69c442b12f715e9f873c0f00000000000017a914f35b24f264597d66ba8c366a5005824bb6a06138870000000042",
"complete" : false
}
addmultisigaddress 3 '["034b0bd0f653d4ac0a2e9e81eb1863bb8e5743f6cb1ea40d845b939c225a1a80ff",
"02a144af74d018501f03d76ead130433335f969772792ec39ce389c8a234155259",
"03661a4370dfcfbcea25d1800057220f4572b6eecab95bb0670e8676a9e34451dc",
"0234139729dd413c84a71a0bfd6f236790be861b37311cef3240277c940e4b0c07",
"02547427fc2ea3a0ab9ef70f5e1640ff5112b113f65696948f992bd0770b942571"]'
BqyRzFtWXDmjxrYpyJD42MLE5xc8FrB4js
signrawtransaction 01000000c0535256011266afa53b463bbd05b71433014115d3e90cc638774189db05a30d8eaf2f77e501000000fa00493046022100909aa3b88a39997e621fa760ab54865777c66a1bd7b8b4642de703c5a76ed704022100de44517cbe293fe411aff5ceb72eb55f843e48feb10a190bbe131b9a2a9a6015014cad5321034b0bd0f653d4ac0a2e9e81eb1863bb8e5743f6cb1ea40d845b939c225a1a80ff2102a144af74d018501f03d76ead130433335f969772792ec39ce389c8a2341552592103661a4370dfcfbcea25d1800057220f4572b6eecab95bb0670e8676a9e34451dc210234139729dd413c84a71a0bfd6f236790be861b37311cef3240277c940e4b0c072102547427fc2ea3a0ab9ef70f5e1640ff5112b113f65696948f992bd0770b94257155aeffffffff02e80300000000000017a91426c6f88ca8a0a47b6a015eac69c442b12f715e9f873c0f00000000000017a914f35b24f264597d66ba8c366a5005824bb6a06138870000000042
{
"hex" : "01000000c0535256011266afa53b463bbd05b71433014115d3e90cc638774189db05a30d8eaf2f77e501000000fd450100493046022100909aa3b88a39997e621fa760ab54865777c66a1bd7b8b4642de703c5a76ed704022100de44517cbe293fe411aff5ceb72eb55f843e48feb10a190bbe131b9a2a9a60150149304602210095fd894c2b3ab1919b565cdc39325e92953908604ef031490c539031dc9baa2f022100cb1e4da9db1a0b0ce639f84e24dd1b3530c6ddbc3c4ceaea36e271f1fa66da2f01004cad5321034b0bd0f653d4ac0a2e9e81eb1863bb8e5743f6cb1ea40d845b939c225a1a80ff2102a144af74d018501f03d76ead130433335f969772792ec39ce389c8a2341552592103661a4370dfcfbcea25d1800057220f4572b6eecab95bb0670e8676a9e34451dc210234139729dd413c84a71a0bfd6f236790be861b37311cef3240277c940e4b0c072102547427fc2ea3a0ab9ef70f5e1640ff5112b113f65696948f992bd0770b94257155aeffffffff02e80300000000000017a91426c6f88ca8a0a47b6a015eac69c442b12f715e9f873c0f00000000000017a914f35b24f264597d66ba8c366a5005824bb6a06138870000000042",
"complete" : false
}

signrawtransaction 01000000c0535256011266afa53b463bbd05b71433014115d3e90cc638774189db05a30d8eaf2f77e501000000fd450100493046022100909aa3b88a39997e621fa760ab54865777c66a1bd7b8b4642de703c5a76ed704022100de44517cbe293fe411aff5ceb72eb55f843e48feb10a190bbe131b9a2a9a60150149304602210095fd894c2b3ab1919b565cdc39325e92953908604ef031490c539031dc9baa2f022100cb1e4da9db1a0b0ce639f84e24dd1b3530c6ddbc3c4ceaea36e271f1fa66da2f01004cad5321034b0bd0f653d4ac0a2e9e81eb1863bb8e5743f6cb1ea40d845b939c225a1a80ff2102a144af74d018501f03d76ead130433335f969772792ec39ce389c8a2341552592103661a4370dfcfbcea25d1800057220f4572b6eecab95bb0670e8676a9e34451dc210234139729dd413c84a71a0bfd6f236790be861b37311cef3240277c940e4b0c072102547427fc2ea3a0ab9ef70f5e1640ff5112b113f65696948f992bd0770b94257155aeffffffff02e80300000000000017a91426c6f88ca8a0a47b6a015eac69c442b12f715e9f873c0f00000000000017a914f35b24f264597d66ba8c366a5005824bb6a06138870000000042

{
“hex” : “01000000c0535256011266afa53b463bbd05b71433014115d3e90cc638774189db05a30d8eaf2f77e501000000fd8c0100493046022100909aa3b88a39997e621fa760ab54865777c66a1bd7b8b4642de703c5a76ed704022100de44517cbe293fe411aff5ceb72eb55f843e48feb10a190bbe131b9a2a9a60150149304602210095fd894c2b3ab1919b565cdc39325e92953908604ef031490c539031dc9baa2f022100cb1e4da9db1a0b0ce639f84e24dd1b3530c6ddbc3c4ceaea36e271f1fa66da2f014730440220580b8b35332a3ae1b3d6505fbb116fa28afa6937c55384dea8871c43cab65cbd02202d00ab9fc813c5884386d9a11147e29ae6c58d1192a56bdf5fff1acfdba7bba0014cad5321034b0bd0f653d4ac0a2e9e81eb1863bb8e5743f6cb1ea40d845b939c225a1a80ff2102a144af74d018501f03d76ead130433335f969772792ec39ce389c8a2341552592103661a4370dfcfbcea25d1800057220f4572b6eecab95bb0670e8676a9e34451dc210234139729dd413c84a71a0bfd6f236790be861b37311cef3240277c940e4b0c072102547427fc2ea3a0ab9ef70f5e1640ff5112b113f65696948f992bd0770b94257155aeffffffff02e80300000000000017a91426c6f88ca8a0a47b6a015eac69c442b12f715e9f873c0f00000000000017a914f35b24f264597d66ba8c366a5005824bb6a06138870000000042”,
“complete” : true
}

Looks like the first hex is not signed at all. So one needs to addmultisigaddress before using nu/nud to sign the transaction. Thanks for testing.

I’ve updated the scripts. Basically it automatically runs addmultisigaddres at start, so there’s no need to do it manually. Note that I have also split the config file - now only your personal configuration goes into config.py. There’s another file pubconfig.py that contains “shared” configuration is actually published to the git repository.

I just received the 0.1 NBT at BXKidrUiYNgRmDeDX61k6CASEJ2HjM8pUF. Hurrah!

sendrawtransaction 01000000c0535256011266afa53b463bbd05b71433014115d3e90cc638774189db05a30d8eaf2f77e501000000fd8c0100493046022100909aa3b88a39997e621fa760ab54865777c66a1bd7b8b4642de703c5a76ed704022100de44517cbe293fe411aff5ceb72eb55f843e48feb10a190bbe131b9a2a9a60150149304602210095fd894c2b3ab1919b565cdc39325e92953908604ef031490c539031dc9baa2f022100cb1e4da9db1a0b0ce639f84e24dd1b3530c6ddbc3c4ceaea36e271f1fa66da2f014730440220580b8b35332a3ae1b3d6505fbb116fa28afa6937c55384dea8871c43cab65cbd02202d00ab9fc813c5884386d9a11147e29ae6c58d1192a56bdf5fff1acfdba7bba0014cad5321034b0bd0f653d4ac0a2e9e81eb1863bb8e5743f6cb1ea40d845b939c225a1a80ff2102a144af74d018501f03d76ead130433335f969772792ec39ce389c8a2341552592103661a4370dfcfbcea25d1800057220f4572b6eecab95bb0670e8676a9e34451dc210234139729dd413c84a71a0bfd6f236790be861b37311cef3240277c940e4b0c072102547427fc2ea3a0ab9ef70f5e1640ff5112b113f65696948f992bd0770b94257155aeffffffff02e80300000000000017a91426c6f88ca8a0a47b6a015eac69c442b12f715e9f873c0f00000000000017a914f35b24f264597d66ba8c366a5005824bb6a06138870000000042
addab8120e5bebf93f6f5abb8469c255d39ce539a15ae52343a85d813379d4fd

https://svr1.nubitsexplorer.nu/chain/Nubits doesn’t work for me. How do I confirm? Sounds like it worked from somewhere.

Okay, I’ll check it out.

I’ve sent back the 0.1NBT and synced running main.py. The unspent output of the address stored in flot-operations is as expected:

addab8120e5bebf93f6f5abb8469c255d39ce539a15ae52343a85d813379d4fd
0.39
1
61df6e0e5cf8f146caf3f00138f92a576567b2ae6ba6685d841fc44498532abb
0.1
0

The script works! I hope it can also work smoothly for other people. I encourage everyone to try to create a transaction using git-multisig

1 Like

You can use this:

http://blockexplorer.nu/address/BXKidrUiYNgRmDeDX61k6CASEJ2HjM8pUF/1/newest

1 Like

I ll take a look at git-multisig later on.

Very sorry for the delay.

Below are the details for my pubkey:

“isvalid” : true,
“address” : “BTHxEUf1NKPjsZ7xZEEYySjWs2WAtFfU9u”,
“ismine” : true,
“isscript” : false,
“pubkey” : “03d4580c1bfa5fd3526e03434983e53b35dd6ea2e2fd337e33976245fc09a8f897”,
“iscompressed” : true,
“account” : “”
}

1 Like