6

microblog誰もがすべての投稿を読むことができるが、所有者だけが投稿を削除または編集できる場所を作成したい。海なしではgundb、誰もが投稿を編集または削除できますsea( gun.user())。公開鍵を共有する必要があります。海では、すべてのユーザーの投稿を取得してタイムラインに投稿を表示する方法を教えてください。

これをgundbで作成するにはどうすればよいですか?

4

3 に答える 3

3

でのデータ プライバシーに関する質問への回答を探していました。これがgun私の回答です。

  1. 変数のインポートと定義
<script src="https://cdn.jsdelivr.net/npm/gun/gun.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gun/sea.js"></script>

var gun = Gun()
  1. マイクロブログの第一著者を作成
gun.user().create('firstMicroblogAuthor', 'somePassword')
gun.user().auth('firstMicroblogAuthor', 'somePassword')

  1. 投稿を作成して作成者を取得
var post = {
  title: 'First post',
  text: 'Hello world!'
}

var author = gun.get('~@firstMicroblogAuthor') // There should be the same `username` in Step 2
  1. 投稿を保存します
gun
  .user()
  .get('posts')
  .set(post) // At this step, we saved the post in a user schedule, which by default is only writable by the user
  .once(function() {
    this.get('author').put(author) // In this step, we link our post with the author (with our user)
    gun.get('posts').set(this) // At this step, we save the post with the author installed in the main graph
  })
  1. 投稿が他のユーザーによる編集から保護されていることを確認します。
gun.user().leave()

gun.user().create('secondMicroblogAuthor', 'somePassword')
gun.user().auth('secondMicroblogAuthor', 'somePassword')

gun
  .get('posts') // Read posts from public graph
  .once(function() {
    this.get('text').put('Goodbye world!') // In this case, we will get an error, because this post was protected
  })
于 2019-09-17T09:48:40.307 に答える
1

ユーザーが作成されるたびに、公開鍵を他のすべてのユーザーと共有できます。(リストを管理するスーパー ユーザーを配置します) 次に、フロントエンド Web サイトはすべての公開キーを反復処理して、人々が作成したすべての投稿を取得し、それらを表示します。そうすれば、人々はすべての投稿を読むことができますが、編集することはできません. これを行うもう 1 つの方法は、スーパー ユーザーに、投稿を自分のグラフに常にインデックス付けして「コピー」するプロセスを実行させることです。そのグラフを表示することができます。(さらに保護されます)これは非常に高レベルの回答ですが、これはすべて gun.user() と銃のコア構造を使用して可能です。

于 2019-05-08T21:45:26.820 に答える
1

todo-dapp がパブリック読み取りユーザー専用書き込みであると言うのは誤解を招きます。実際には、他のユーザーのドキュメントを表示する機能は提供されません。

実際、これを行う方法に関するドキュメントや例が実際にはなく、開発者に尋ねると、回避に次ぐ回避に直面するだけであることに、私は長年悩まされてきました。

データベースは、ユーザーの懸念を互いに分離する方法がある場合にのみ役立ちます

于 2019-07-12T11:01:11.413 に答える