Skip to main content

8. Proposing a Change

Let's think through how we propose a change, and what we're still missing in our application.

Right now, if softCell wanted to change their _user/username to hardCell, they could issue the following change and vote:

[  {    "_id": "change",    "name": "softCellNameChange",    "doc": "It's time for a change!",    "subject": ["_user/username", "softCell"],    "predicate": ["_predicate/name", "_user/username"],    "object": "hardCell",    "vote": "vote$softCell"  },  {    "_id": "vote$softCell",    "name": "softCellNameVote",    "yesVotes": [["_auth/id", "auth3"]]  }]

This transaction needs to be signed with softCell's private key to be valid.

There's one big problem, however... The problem has nothing to do with the syntax of the transaction (that's all good!). Can you figure out what our big problem is?

What Are We Missing Here?

What's the problem with our application? What are we missing?