Tier 4 Fund Management Discussion

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

Given the current situation it may be better that we use the current address and the 5 signers of that address for the NBT group. You can be in the NSR group; I think you can use this public key for an NSR address or you can create an other NSR address and post the public key. I havenā€™t yet allowed the script to handle both NSR and NBT at the same time though. Balancing response rates and general availability the NSR group should now be: @dysconnect, @masterofdisaster, @mhps, @cryptog, @Dhume

1 Like

Why bitcoin accepts up to 15 of 15 multisig and NBT only 5? Is there anything in the code I am not aware of?