[v0.8.3] Subcription testing

Hey there!

I’ve just deployed a v0.8.3 instance on ucoin.twiced.fr:9101.

It its a very minimalist version of uCoin with manually built blockchain, able to add new members. So if you want to join to try it, just follow below instructions! :wink:

N.B.1: the server is for test only, and data may be reseted at any moment!

N.B.2: I know procedure is still handcraft style, but we are just in early development

1. Prerequisties

  • Linux with nodejs, nodejs-legacy and npm installed.

2. Install ucoin CLI client

$ sudo npm install -g vucoin

3. Create your key

Creating your key is done by memorizing 2 things:

  • a salt string
  • a password

Choose whatever value you want for these, but be sure to memorize them. Also, try to have unique values (do not choose “abc” and “abc”), since keys are supposed to be unique and have enough entropy.

A good salt string could be your email address, and a good password could be a strong password.

Be cautious! These 2 strings can’t be changed thereafter. We are doing tests here, so this is no big deal. But just be aware of it.

4. Choose an identity

In uCoin, users are identified by ther uid, a.k.a. User ID. For me, it will be “cgeek” for example.

You have to choose your own, so just do it and memorize it.

5. Publish your key + identity

Let’s call salt your salt string of step 3., passwd your password of step 3., and uid your personal identifier.

To publish your key + identity, use following command:

$ ucoin -h twiced.fr -p 9101 -c beta_brousouf --salt "<salt>" --passwd "<passwd>" self "<uid>" --store --send

Where <uid>, <salt>, <passwd> have to be replaced by your values.

6. Join the Web of Trust

This is a similar command, however the command is join instead of self:

$ ucoin -h twiced.fr -p 9101 -c beta_brousouf --salt "<salt>" --passwd "<passwd>" join "<uid>"  --send

7. Sign my identity (cgeek)

To be integrated into the WoT, you also have to certify people already in the WoT. This is a bidirectionnal trust of identities.

Since I will make people enter in this testing WoT, you just have to ceritify me:

ucoin -h twiced.fr -p 9101 -c beta_brousouf --salt "<salt>" --passwd "<passwd>" cert cgeek --send

8. Wait!

Now your identity + join membership should be on the server. You can check your identity using http://ucoin.twiced.fr:9101/wot/lookup/uid, which will give you all identities matching “uid” string. Replace “uid” by your own uid to check if your identity is on the server.

But for your membership to be written in the blockchain, you will have to wait me to manually launch a new block creation :wink: So you can ask me here, or on the chat on http://ucoin.io.

Thanks!

1 J'aime

Congratulation cgeek, amazing all the stuff you made till now. I will try it ASAP and notify you in order to add my key within the blockchain.

Thanks, but this is just a small buggy test here :slight_smile:

However, this might help devlopers to understand gradually the API and build nice client apps!

Okay, we are already 2 members: cgeek & vit:

Since WoT must be stable with a 3 steps max distance between each member of the WoT (bidirectionnal way), vit certified cgeek and cgeek certified vit.

Certifications are now:

cgeek <--> vit

If someone else wants to come in, he will have to do step 7 over either me (cgeek) or vit, and be certified by either me or vit.

Let’s see who is next :slight_smile:

I’ve added certifications to /wot/lookup, so now above URLs display our respective signatures:

  • we can see RdrHvL (vit) signed by HnFcSm (cgeek)
  • we can see HnFcSm (cgeek) signed by RdrHvL (vit)

Hi,
I’ve just added myself to the WoT (uid: mhugo) and signed cgeek.

Nice @mhugo :slight_smile: you still need to send a join command for me to add you in the WoT. It cannot be done without your consentment.

Edit: my bad, it seems you’ve already sent it :confused: I will try to add next block then!

Anyway, I’ve signed your identity too: http://twiced.fr:9101/wot/lookup/mhugo

So now, we have a potential WoT with:

mhugo <--> cgeek <--> vit

So there is a distance 2 (max is 3) between vit and mhugo. Everything is fine for now, next block can be added with this WoT data :wink:

Ok, @mhugo you were just added to the WoT: http://twiced.fr:9101/blockchain/current

See “Identities” line with your user:

"identities": [
    "xr8yefxdNVShQ24HU9DGTyRdk9cFdBRxQmyC8q32tZU:4U/8uL+9/HRpoPPzB69XUBdgR45sRBOwFY29g2JQfgbmdqYTapLKoEj5JaSEk3pYIXGXkKvmhI7zkRTTcD0ICg==:1411644489:mhugo"
  ]

Your join membership:

  "joiners": [
    "xr8yefxdNVShQ24HU9DGTyRdk9cFdBRxQmyC8q32tZU:Ez2e8Pqs5835IXNxaqNG1kjQmM2CYZWhAk9aO2Kml0eRQiSrU/V0xREqc9sNWkJOjeeJgza5bmUsa2Ma0EPfAw==:1411644521"
  ],

And finally our bidirectionnal certifications:

"certifications": [
    "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:xr8yefxdNVShQ24HU9DGTyRdk9cFdBRxQmyC8q32tZU:1411654003:E8M67YCROLScyFYi8VTSZFhXS2E8Opb5DNXafTY5vviMDx/pqFP9vxWTQlDoTEGPAanWsLke+RT9JWKieH4ECA==",
    "xr8yefxdNVShQ24HU9DGTyRdk9cFdBRxQmyC8q32tZU:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:1411651863:vaqMttSZyipV74mMB7FYU5hsEqT8mTRmktc3J8Vup9ggcPqggmvm+CNxLxJUMIUJNo27ocXyCnPW+n9ZeBMkBw=="
  ],

Welcome :wink:

Nice ! :slight_smile: Thanks for your work.

New member @moshe joined too! We are now 4 members:

"membersCount": 4

So now the WoT looks like:

cgeek <--> vit
cgeek <--> mhugo
cgeek <--> moshe

Welcome @moshe :wink:

Hi folks,

I just created my uid as well under the name “canercandan” and signed “cgeek”, I also sent a joining request.

Thanks,

Ok, I’ve just certified you too @canercandan. We are now 5 members and the WoT looks like:

cgeek <--> vit
cgeek <--> moshe
cgeek <--> mhugo
cgeek <--> canercandan

Well now, I hope I can offer you more functionalities so we can play a bit more with certifications & money :slight_smile:

Great thanks cgeek. :wink:

I think it would be nice to have a blockexplorer, something similar to http://blockexplorer.com/

BTW, since we want to enable nodes to get tx fees, does it means that any kind of tx is concerned by even WoT ones ? It’s obvious that this way, if every available nodes in the network require tx fees it means that even for joining the community as a new member we have to pay something. Does it make sense ?

@canercandan a new block does not require any transactions in it. So, any members’ node (including yours) will be able to write next block for accepting newcomers.

Also, if no node write next block, exchanges are just stopped. Maybe currency collapses. Will members want such thing? I don’t think so :smile:

Thanks for your feedback. I am a bit confuse about this point, does it mean dealing with adding/updating members into the blockchain is different from dealing with money transactions in regard to transaction fee ? I am asking such a question since both processes require energy to accomplish.

Yes, these are 2 different things. Here are the rules:

  • Only transactions may generate a transaction fee
  • A block may contain members changes
  • A block may contain transactions
  • Every member is free to write next block

About energy, you shouldn’t think like in Bitcoin’s blockchain. We are not in the same order of magnitude.

And if you think people won’t write blocks with members changes just because there is no transaction fee, my answer would be: this is not Bitcoin. :wink:

I sent my key and signed cgeek.
I’m waiting :slight_smile:
Thanks

1 J'aime

Welcome @greyzlii, we are now 6 members :wink: (I have signed you too) http://ucoin.twiced.fr:9101/blockchain/current

1 J'aime