Looking for test partners

As I completed setting up a Chia test environment, I would like to exchange Chia transactions over testnet10. Are there someone, who can be counterpart of it?

As a first project, I would like to try implementing a sort of payment channel with multisig (aggregated signatures in Chia) and timelock.

Sounds interesting. Let me know how I can help you.

Dear Gneale,

Thank you for your reply.

I have exchanged some transactions over Bitcoin and Ethereum networks, but I have no experience in doing it over Chia network.

I would like to get a feel of exchanging transactions over Chia network.

[Step 1]
At first, I would like to send some txch to your testnet address over testnet10.
Then, I would like you to send some txch back to my testnet address over testnet10.

[Step 2]
I would like to try implementing multisig transaction with aggregated signatures.
When it becomes ready, I would like you to sign a transaction together with me to send some txch to someone else over testnet10.

[Step 3]
I would like to try implementing a kind of payment channel with aggregated signatures and timelock.
When it becomes ready, I would like you to sign a transaction together with me to open payment channel, exchange transactions offline, and close channel when time comes.

1 Like

txch1tj44pvv8gs2lc8qfulf73gxmnwtunnusj953ye4yxj4t8zptwwusvlmf3s

If you need more people to help, I can help too.

Hi Gneale,

I tried sending transaction by deploying Chialisp code, but it failed.
At first, let me send transaction by Chia GUI Wallet.
Please let me know if you receive 100 mojos from my testnet address.

my testnet address: txch1f9pdsmlswm8vv2p3kt9hkvlaa4x7ul6kasx8cygrvye727m0tweq6c078p
amount: 0.0000000001 (100 mojos)
fee: 0.000000000001 (1 mojos)

Hi Karlkim, yes I will need more people later.
When required, I will ask you for help.
Thank you for your kind message!

1 Like

psyto,
At this point I’m not sure if I got it or not.

Do you have the transaction number?

I just sent you txch:
chia wallet send -a 0.00001 -t txch1f9pdsmlswm8vv2p3kt9hkvlaa4x7ul6kasx8cygrvye727m0tweq6c078p --fee 0.000001

chia wallet get_transaction -f 790396907 -tx 0x933c731c7fb8a329dcbac49e4734feb59452245005344d8c9307bea996525b6a

Transaction 933c731c7fb8a329dcbac49e4734feb59452245005344d8c9307bea996525b6a Status: Confirmed Amount sent: 0.00001 txch To address: txch1f9pdsmlswm8vv2p3kt9hkvlaa4x7ul6kasx8cygrvye727m0tweq6c078p Created at: 2022-02-15 22:50:43

Thank you for your prompt action.
And thank you for sharing the command line, which is really helpful for me to learn Chia.

I received 3 transactions, 0.000001 TXCH, 0.00001 TXCH, and 0.0000000001 TXCH. Did you kindly send all of them?

Sorry, but I have some elementary questions.

  1. In Bitcoin, change is recorded as transaction, but it is not recorded as transaction in Chia. Is my understanding correct?
  2. Could you please teach me how I can get to know the sender of transaction? I can see only ‘To address’, but as it is always the same, it seems my address, not sender address.

They are probably all from me as I was wrestling with pseudo-errors like fee minimum warnings and jumping from node wallet to node wallet confusing myself, but we could easily check…

cdv decode txch1f9pdsmlswm8vv2p3kt9hkvlaa4x7ul6kasx8cygrvye727m0tweq6c078p
yields the puzzlehash of your wallet address

cdv rpc coinrecords --by puzhash 4942d86ff076cec62831b2cb7b33fded4dee7f56ec0c7c11036133e57b6f5bb2
yields the coins history of that wallet

taking the parentid of the last one listed
cdv rpc coinrecords --by id cff9adbeccad8ed0713985577cdfcb68bca7d0688f4cea088e677317f96fef5a
looking at that one coin’s puzzlehash yields

cdv encode 0x4d2533a913b2dc81acb74a67cddb3e9f85c8dc0ec765907a806ff99cbd46576d
which returns:
xch1f5jn82gnktwgrt9hffnumke7n7zu3hqwcajeq75qdluee02x2aksvpmfg6
my wallet address from above^ so at least that one is from me.

You can check the rest of your wallet’s coin history like this to see which of the others came from me too.

2 Likes

To address your first question the “Chia Coin Set Model” works a lot like Bitcoin’s UTXO, especially for “change”.

To find the change in the above transaction we can look for the solution of the coinID that I spent:
cdv rpc blockspends -id cff9adbeccad8ed0713985577cdfcb68bca7d0688f4cea088e677317f96fef5a --block-height 568744

which yields a solution of:
cdv clsp disassemble ff80ffff01ffff33ffa04942d86ff076cec62831b2cb7b33fded4dee7f56ec0c7c11036133e57b6f5bb2ff8600e8d4a5100080ffff33ffa078a6e1971b7615c67c390c036525070df79bc01236044fd6d2a12ad8ac137af7ff870180b75cbd700080ffff3cffa0555175d600bc52afe2d9578a260153c0c959d7a120cfdc1fb4a2b58c0bb8bd478080ff8080

Which deserialized looks like this:
(() (q (51 0x4942d86ff076cec62831b2cb7b33fded4dee7f56ec0c7c11036133e57b6f5bb2 0x00e8d4a51000) (51 0x78a6e1971b7615c67c390c036525070df79bc01236044fd6d2a12ad8ac137af7 0x0180b75cbd7000) (60 0x555175d600bc52afe2d9578a260153c0c959d7a120cfdc1fb4a2b58c0bb8bd47)) ())

“51” is CREATE_COIN.

Remember 0x4942d86ff076cec62831b2cb7b33fded4dee7f56ec0c7c11036133e57b6f5bb2 is your wallet address puzzlehash from above^. Therefore the other CREATE_COIN is for me.

(51 0x78a6e1971b7615c67c390c036525070df79bc01236044fd6d2a12ad8ac137af7 0x0180b75cbd7000)
This is my change.

2 Likes

txch12cfmt55cxljefuuxx2l5qhllr6gudcvvwlgzda8qkaa35fk60xnq5mr42c

Hi Gneale,

Finally, I became able to identify the sender.
Thank you for your detailed explanation.

For those of you, who will refer to this thread, I correct one point.
As Chia command line expects hexadecimal numbers, we don’t need to have 0x in front of number.

cdv encode 4d2533a913b2dc81acb74a67cddb3e9f85c8dc0ec765907a806ff99cbd46576d

1 Like

Dear Gneale,

I replicated all the steps on my command line and got impressed by the beauty of Chia!

Can I ask you a question?
If we know coinID, by using cdv clsp disassemble, we can get to know how transaction was created with Chialisp.
Is my understanding correct?

Thank you for your comment.
When I am ready, I will send some transactions to your testnet10 address.

Sort of… and because essentially this thread has become about “auditing” I want to tell you have instinctively found the limitations of Chialisp auditing imo.

To explain:
Using coinID we can find any serialized puzzle and solution if it is spent and disassemble it into CLVM only, not Chialisp. The example above we disassembled a solution to a standard transaction, but this time you refer to the puzzle part which can be found with this command.
cdv rpc blockspends -id cff9adbeccad8ed0713985577cdfcb68bca7d0688f4cea088e677317f96fef5a --block-height 568744

I don’t currently have access to fully synced node, but if you were to disassemble the puzzle, or what might be referred to as the puzzle_reveal in the ouput, what comes out next would be CLVM, which is low level code, and not Chialisp, which is high level code whose purpose is to make creating the original puzzle easier.

This is significant because CLVM is difficult to audit except for by highly trained experts imo and because there are multiple Chialisp puzzles that can output the same CLVM any Chialisp derived from auditing is only a guess at the original.

For professional auditing purposes, it might not matter what Chialisp you back out to for discussion purposes, but again one can never be sure it matches the original. I guess my remaining main concern is if auditing in CLVM necessarily becomes the norm is it feasible to think a cottage industry forms around understanding and discussing low-level CLVM code. IDK we shall see…

Thank you for teaching me a lot and sorry for deviating the topic from development to auditing.

I think transaction details should not be disassembled easily, so it may be an intended design of Chialisp.

With many helps from you, I became comfortable with chia-dev-tools.
I just restarted development.

Thanks again for your detailed explanations as always.

2 Likes