Wanted features

Wanted features, could be send here.

Example :

  • get user graph infos, without scanning the blockchain
1 « J'aime »

Add a method to make searchs for members in the blockchain (by uid, or pubkey) : indeed, /wot/lookup performs a search on all the available data, even the non-written in the blockchain.

To draw the graph of the wot faster, I need :

wot/certifiers-of/[uid|public_key]

return :

[
    {'uid': 'mr Go', 'pubkey': 'CYYjHsNyg3HMRMpTHqCJAN9McjH5BwFLmDKGV3PmCuKp', 'date': '2014-12-02 23:04:01'},
    {'uid': 'mrs Violet', 'pubkey': '9WYHTavL1pmhunFCzUwiiq4pXwvgGG5ysjZnjz9H8yB', 'date': '2014-10-04 13:02:08'}
]

wot/certified-by/[uid|public_key]

return :

[
    {'uid': 'mr Go', 'pubkey': 'CYYjHsNyg3HMRMpTHqCJAN9McjH5BwFLmDKGV3PmCuKp', 'date': '2014-10-03 10:12:09'},
    {'uid': 'mrs Violet', 'pubkey': '9WYHTavL1pmhunFCzUwiiq4pXwvgGG5ysjZnjz9H8yB',  'date': '2014-10-05 18:09:11'}
]

This is an example, but you get the point…
[edit] Added date of signature to display expire date on edges.

You will also need something like:

blockchain/members

Return a Merkle resource listing all the current members. Why a Merkle resource? Since members list can be very big, it would be nice to split the data into several chunks.

Merkle URL result with leaves=false.

{
  "depth": 3,
  "nodesCount": 6,
  "leavesCount": 5,
  "root": "6513D6A1582DAE614D8A3B364BF3C64C513D236B"
}

Merkle URL result with leaves=true.

{
  "depth": 3,
  "nodesCount": 6,
  "leavesCount": 5,
  "root": "6513D6A1582DAE614D8A3B364BF3C64C513D236B",
  "leaves": [
    "32096C2E0EFF33D844EE6D675407ACE18289357D",
    "50C9E8D5FC98727B4BBC93CF5D64A68DB647F04F",
    "6DCD4CE23D88E2EE9568BA546C007C63D9131C1B",
    "AE4F281DF5A5D0FF3CAD6371F76D5C29B6D953EC",
    "E0184ADEDF913B076626646D3F52C3B49C39AD6D"
  ]
}

Merkle URL result with leaf=AE4F281DF5A5D0FF3CAD6371F76D5C29B6D953EC.

{
  "depth": 3,
  "nodesCount": 6,
  "leavesCount": 5,
  "root": "6513D6A1582DAE614D8A3B364BF3C64C513D236B",
  "leaf": {
    "hash": "AE4F281DF5A5D0FF3CAD6371F76D5C29B6D953EC",
    "value": [
      "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk",
      "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU",
      "RdrHvL179Rw62UuyBrqy2M1crx7RPajaViBatS59EGS",
      "9fx25FmeBDJcikZLWxK5HuzKNbY6MaWYXoK1ajteE42Y",
      ...
    ]
  }
}

Is it possible to have a confirmation message, when execute a commande than do nothing (with vucoin).

e.g. I tried yesterday to transfer some ZB, but with an error on commande transfert

$ ucoin -h twiced.fr -p 9101 -c zeta_brouzouf --salt “toto” --passwd “titi” transfer 5 BVy2egSUYsiNFu9UwBUUGXhrHZde95722VHYSFtXptXA

…but in console: no error
Thks ! :wink:

For the Wot view in cutecoin to be able to sign non members identities, the api commands certified-by and certifiers-of have to work on non members identities. Is it possible ?

Since these 2 methods are based on the uniqueness of either “pubkey” or “uid” parameter, it cannot work with non-members.

Furthermore, I don’t think it would be a good idea to display all non-members in the WoT graph, since it could be a very big result and full of duplicates.

Ok, I understand your concern, but how can we sign non-members if their public key are not unique ?

My problem is : a person asking for membership need to be signed. He/she gives me his uid/public key.

How can I do in cutecoin to search / display those identifiers and select them to sign…?

I got the wot/lookup I already use to find uids/public keys, but I need certifications to/from them also to evaluate the trust…

Well … public key is always unique. But the link between a public key and a UID is not as far as it has not been written in the blockchain. That’s our problem:

  • in the blockchain, an UID, a public key and the identity (the link between the two) are each unique
  • out of the blockchain, the unicity is on identity (public key + uid + timestamp)

That’s why, if you use ucoin-cli and make several self command in a row and then someone tries to sign you, the prompt will ask him to choose which identity to sign (it will be proposed each different identity matching the UID, even if several with the same public key exist).

I guess I should allow for certifiers-of and certified-by to take a whole identity as parameter (public key + uid + timestamp). This way, I would have unicity on the target. Also, I should add in results wether the certification is made by a member or a non-member.

What do you think of this proposal?