4.1.106 • Published 10 months ago

@peerbit/trusted-network v4.1.106

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

Trusted network

🚧 Experimental state 🚧

A store that lets you build trusted networks of identities.

The store is defined by the "root trust" which has the responsibility in the beginning to trust additional identities. Later, these identities can add more identities to the network. Trusted identities can also be revoked.

Distributing content among untrusted peers will be unreliable, and not resilient to malicious parties that start to participate in the replication process with large amount (>> min replicas) of nodes followed by shutting them down simultaneously (no way for the original peers recover all lost data). To mitigate this, you can launch your program in a "Network", which is basically a list of nodes that trust each other. Symbolically you could thing of this as a VPC.

To do this, you only have to implement the "Network" interface:

import { Peerbit, Network } from 'peerbit'
import { Log } from '@peerbit/log'
import { Program } from '@peerbit/program' 
import { TrustedNetwork } from '@peerbit/trusted-network' 
import { field, variant } from '@dao-xyz/borst-ts' 

@variant("string_store") 
@network({property: 'network'})
class StringStore extends Program
{
    @field({type: Store})
    log: Log<Uint8Array>

    @field({type: TrustedNetwork}) 
    network: TrustedNetwork // this is a database storing all peers. Peers that are trusted can add new peers

    constructor(properties:{ log: Store<any>, network: TrustedNetwork }) {
       
		this.log = properties.store
		this.network = properties.network;
        
    }

    async setup() 
    {
        await store.setup({ encoding: ... , canPerform: ..., index: {... canRead ...}})
        await trustedNetwork.setup()
    }
}


// Later 
const peer1 = await Peerbit.create(LIBP2P_CLIENT, {... options ...})
const peer2 = await Peerbit.create(LIBP2P_CLIENT_2, {... options ...})

const programPeer1 = await peer1.open(new StringStore({log: new Log(), network: new TrustedNetwork()}), {... options ...})

// add trust to another peer
await program.network.add(peer2.identity.publicKey) 


// peer2 also has to "join" the network, in practice this means that peer2 adds a record telling that its Peer ID trusts its libp2p Id
const programPeer2 = await peer2.open(programPeer1.address, {... options ...})
await peer2.join(programPeer2) // This might fail with "AccessError" if you do this too quickly after "open", because it has not yet received the full trust graph from peer1 yet

See this test(s) for working examples

4.1.28-63e24d5

1 year ago

4.1.61-a1dd3d8

1 year ago

4.1.97-7ca5c48

11 months ago

4.1.49-da013fc

1 year ago

4.1.43-49afc60

1 year ago

4.1.30-6b5241d

1 year ago

4.1.74-6ba92be

1 year ago

4.1.83-327e5c9

12 months ago

4.1.101-c66c749

11 months ago

4.1.31-2ec6eb5

1 year ago

4.1.41-961cb66

1 year ago

4.1.52-ee20213

1 year ago

4.1.77-ed011b4

1 year ago

4.1.73-fbb4e31

1 year ago

4.1.66-9084059

1 year ago

4.1.36-e5510e0

1 year ago

4.1.102-dbba3c6

10 months ago

4.1.47-58dee0c

1 year ago

4.1.100-b1540c6

11 months ago

4.1.58-df2357c

1 year ago

4.1.87-2f92713

12 months ago

4.1.55-e9b2c20

1 year ago

4.1.62-821030a

1 year ago

4.1.93-8d1952b

11 months ago

4.1.83-ca1f7f3

12 months ago

4.1.54-aea0cef

1 year ago

4.1.104-f511993

10 months ago

4.1.39-17e5d15

1 year ago

4.1.36-313f84c

1 year ago

4.1.92-363580e

11 months ago

4.1.44-182ba4d

1 year ago

4.1.71-263159d

1 year ago

4.1.99-9c1dc07

11 months ago

4.1.20-e5f6c17

1 year ago

4.1.94-523d88d

11 months ago

4.1.96-a547831

11 months ago

4.1.105-1169e60

10 months ago

4.1.35-837e7f1

1 year ago

4.1.33-115f7aa

1 year ago

4.1.82-c5744ae

12 months ago

4.1.37-e0eabcf

1 year ago

4.1.81-1e362c1

12 months ago

4.1.75-f151ed4

1 year ago

4.1.34-b900404

1 year ago

4.1.72-9930e60

1 year ago

4.1.72-7c08aa6

1 year ago

4.1.34-617e97c

1 year ago

4.1.17-05f4bef

1 year ago

4.1.67-592398d

1 year ago

4.1.74-c5f9b43

1 year ago

4.1.29-c0de42e

1 year ago

4.1.38-03f5b18

1 year ago

4.1.88-22acbe9

12 months ago

4.1.21-39e9da6

1 year ago

4.1.18-10f303c

1 year ago

4.1.23-03739af

1 year ago

4.1.70-a4bb1df

1 year ago

4.1.30

1 year ago

4.1.31

1 year ago

4.1.32

1 year ago

4.1.33

1 year ago

4.1.64-6335205

1 year ago

4.1.38

1 year ago

4.1.39

1 year ago

4.1.34

1 year ago

4.1.35

1 year ago

4.1.56-bf9c70f

1 year ago

4.1.36

1 year ago

4.1.37

1 year ago

4.1.50-c709e20

1 year ago

4.1.20

1 year ago

4.1.21

1 year ago

4.1.22

1 year ago

4.1.57-5226a66

1 year ago

4.1.45-e5392af

1 year ago

4.1.27

1 year ago

4.1.28

1 year ago

4.1.29

1 year ago

4.1.23

1 year ago

4.1.24

1 year ago

4.1.25

1 year ago

4.1.26

1 year ago

4.1.42-d8eb9b0

1 year ago

4.1.54-a70fbaa

1 year ago

4.1.52

1 year ago

4.1.53

1 year ago

4.1.54

1 year ago

4.1.55

1 year ago

4.1.50

1 year ago

4.1.86-f5a378c

12 months ago

4.1.51

1 year ago

4.1.56

1 year ago

4.1.57

1 year ago

4.1.58

1 year ago

4.1.59

1 year ago

4.1.60-5652381

1 year ago

4.1.41

1 year ago

4.1.42

1 year ago

4.1.19-91f517a

1 year ago

4.1.43

1 year ago

4.1.44

1 year ago

4.1.23-6d2cda9

1 year ago

4.1.40

1 year ago

4.1.49

1 year ago

4.1.23-27dca31

1 year ago

4.1.45

1 year ago

4.1.46

1 year ago

4.1.47

1 year ago

4.1.48

1 year ago

4.1.16-5cf61cb

1 year ago

4.1.58-e3e1b7f

1 year ago

4.1.43-bae87a5

1 year ago

4.1.66-d4093c8

1 year ago

4.1.76-8df5439

1 year ago

4.1.68-e16ac5f

1 year ago

4.1.79-cd90eb0

12 months ago

4.1.91-6c5db3c

11 months ago

4.1.95-2292bf0

11 months ago

4.1.102-9ef01e7

10 months ago

4.1.14-1c77281

1 year ago

4.1.80-61266e7

12 months ago

4.1.32-d0d863b

1 year ago

4.1.85-fb47029

12 months ago

4.1.16

1 year ago

4.1.22-8abb258

1 year ago

4.1.17

1 year ago

4.1.18

1 year ago

4.1.19

1 year ago

4.1.15

1 year ago

4.1.89-79582c9

11 months ago

4.1.90-a762412

11 months ago

4.1.53-12d090c

1 year ago

4.1.98-470ffb3

11 months ago

4.1.103-f2d727c

10 months ago

4.1.98-b3a3de9

11 months ago

4.1.27-a4ac71a

1 year ago

4.1.94-902158c

11 months ago

4.1.89-951a98f

11 months ago

4.1.46-2de0560

1 year ago

4.1.59-b4531d8

1 year ago

4.1.24-43685b6

1 year ago

4.1.49-baf4bd8

1 year ago

4.1.40-a97d716

1 year ago

4.1.22-f5c8aec

1 year ago

4.1.89-820506

11 months ago

4.1.80-d8e5bfb

12 months ago

4.1.25-7d319f1

1 year ago

4.1.106

10 months ago

4.1.101-29724c7

10 months ago

4.1.98-077dde4

11 months ago

4.1.102

10 months ago

4.1.103

10 months ago

4.1.104

10 months ago

4.1.105

10 months ago

4.1.100

11 months ago

4.1.101

11 months ago

4.1.74

1 year ago

4.1.75

1 year ago

4.1.76

1 year ago

4.1.77

1 year ago

4.1.54-f0d763d

1 year ago

4.1.70

1 year ago

4.1.71

1 year ago

4.1.72

1 year ago

4.1.73

1 year ago

4.1.84-3a4b77c

12 months ago

4.1.78-b9539fc

12 months ago

4.1.78

12 months ago

4.1.102-c7dcc32

10 months ago

4.1.79

12 months ago

4.1.63-a2796fd

1 year ago

4.1.15-4d7d8ba

1 year ago

4.1.63

1 year ago

4.1.64

1 year ago

4.1.65

1 year ago

4.1.66

1 year ago

4.1.60

1 year ago

4.1.61

1 year ago

4.1.62

1 year ago

4.1.27-5fa75cc

1 year ago

4.1.67

1 year ago

4.1.68

1 year ago

4.1.69

1 year ago

4.1.58-d9795af

1 year ago

4.1.90

11 months ago

4.1.91

11 months ago

4.1.96

11 months ago

4.1.97

11 months ago

4.1.98

11 months ago

4.1.99

11 months ago

4.1.92

11 months ago

4.1.93

11 months ago

4.1.94

11 months ago

4.1.95

11 months ago

4.1.69-61928d4

1 year ago

4.1.50-b25d754

1 year ago

4.1.65-e182140

1 year ago

4.1.51-6dbebf0

1 year ago

4.1.26-f461b9a

1 year ago

4.1.80

12 months ago

4.1.48-8cae2b9

1 year ago

4.1.85

12 months ago

4.1.86

12 months ago

4.1.87

12 months ago

4.1.78-e280087

12 months ago

4.1.88

12 months ago

4.1.81

12 months ago

4.1.82

12 months ago

4.1.83

12 months ago

4.1.84

12 months ago

4.1.82-bf22247

12 months ago

4.1.89

12 months ago

4.1.11-81d59ee

1 year ago

4.1.11-8cf50a6

1 year ago

4.1.13-c679a0d

1 year ago

4.1.13-8bec89f

1 year ago

4.1.11-7295b96

1 year ago

4.1.12-1a3d976

1 year ago

4.1.13-30333b6

1 year ago

4.1.12

1 year ago

4.1.14

1 year ago

4.1.11-9aa0186

1 year ago

4.1.11-c577601

1 year ago

4.1.10-b6f9aa8

1 year ago

4.1.11

1 year ago

4.1.10-5614dfb

1 year ago

4.1.8

1 year ago

4.1.9

1 year ago

4.1.9-9559b10

1 year ago

4.1.7-d83d7e7

1 year ago

4.1.9-a6d0306

1 year ago

4.1.10

1 year ago

4.1.9-e9a5cd4

1 year ago

4.1.8-01f2c90

1 year ago

4.1.7

1 year ago

4.1.6-737a4d7

1 year ago

4.1.5-2f48d18

1 year ago

4.1.1-88f45c3

2 years ago

4.1.3-0b8baa8

1 year ago

4.1.2-a3e5123

1 year ago

4.1.5-a2cffec

1 year ago

4.1.4-29dd1b8

1 year ago

4.1.4

1 year ago

4.1.3

1 year ago

4.1.6

1 year ago

4.1.5

1 year ago

4.1.2

2 years ago

4.0.1-eb9dc6e

2 years ago

4.0.8-7872365

2 years ago

4.0.6-a0a3f23

2 years ago

4.0.5-171d517

2 years ago

4.0.0-3a75d6e

2 years ago

4.0.5

2 years ago

4.0.13-e1db01f

2 years ago

4.0.4

2 years ago

4.0.7

2 years ago

4.0.6

2 years ago

4.0.1

2 years ago

4.0.0

2 years ago

4.1.0-57b8640

2 years ago

4.0.3

2 years ago

4.0.2

2 years ago

4.0.13-42268a2

2 years ago

4.0.5-1d1274c

2 years ago

4.0.9-4b0fbf1

2 years ago

4.0.2-2bc15a6

2 years ago

4.0.9

2 years ago

4.0.8

2 years ago

4.0.4-bf3e3ed

2 years ago

4.0.5-65f11ae

2 years ago

4.0.8-b57d808

2 years ago

4.0.7-2d408db

2 years ago

4.0.5-2b760c3

2 years ago

4.1.1-4ec760d

2 years ago

4.0.9-343b1fa

2 years ago

4.0.5-5901172

2 years ago

4.0.4-5b40851

2 years ago

4.0.14-ccaf4f4

2 years ago

4.0.9-8c33ab6

2 years ago

4.0.9-325235b

2 years ago

3.0.40-cccc078

2 years ago

4.0.0-934594a

2 years ago

4.0.12

2 years ago

4.0.11

2 years ago

4.0.14

2 years ago

4.0.13

2 years ago

4.0.10-61d3cec

2 years ago

4.0.11-c07c1c7

2 years ago

4.0.3-9e66213

2 years ago

4.0.1-ac53fba

2 years ago

4.0.5-372e20f

2 years ago

4.0.12-d66695a

2 years ago

4.0.3-5e0d4ec

2 years ago

4.0.7-a16b978

2 years ago

4.0.7-5ed4c57

2 years ago

4.0.0-55cebfe

2 years ago

4.1.0-b064d22

2 years ago

4.1.0

2 years ago

4.1.1

2 years ago

4.0.5-8b0cac0

2 years ago

3.0.40-218a5bb

2 years ago

3.0.40-aa577a5

2 years ago

3.0.40-0691c73

2 years ago

3.0.40-efee9d3

2 years ago

3.0.40-a9206a8

2 years ago

3.0.40-a4f88b6

2 years ago

3.0.40

2 years ago

3.0.39

2 years ago

3.0.35

2 years ago

3.0.38

2 years ago

3.0.36

2 years ago

3.0.37

2 years ago

3.0.34

2 years ago

3.0.33

2 years ago

3.0.32

2 years ago

3.0.30

2 years ago

3.0.31

2 years ago

3.0.27

2 years ago

3.0.28

2 years ago

3.0.26

2 years ago

3.0.29

2 years ago

3.0.25

2 years ago

3.0.23

2 years ago

3.0.24

2 years ago

3.0.21

2 years ago

3.0.22

2 years ago

3.0.20

2 years ago

3.0.19

2 years ago

3.0.18

2 years ago

3.0.17

2 years ago

3.0.16

2 years ago

3.0.15

2 years ago

3.0.12

2 years ago

3.0.11

2 years ago

3.0.14

2 years ago

3.0.10

2 years ago

3.0.8

2 years ago

3.0.9

2 years ago

3.0.7

2 years ago

3.0.6

2 years ago

3.0.5

2 years ago

3.0.4

2 years ago

3.0.3

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

2.0.21

3 years ago

2.0.20

3 years ago

2.0.19

3 years ago

2.0.18

3 years ago

2.0.17

3 years ago

2.0.16

3 years ago

2.0.15

3 years ago

2.0.14

3 years ago

2.0.13

3 years ago

2.0.12

3 years ago

2.0.11

3 years ago

2.0.10

3 years ago

2.0.9

3 years ago

2.0.8

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago