Browse Source

:ledger: Update README

Ettore Di Giacinto 3 years ago
parent
commit
259bae661a
1 changed files with 32 additions and 11 deletions
  1. 32 11
      README.md

+ 32 - 11
README.md

@@ -268,25 +268,46 @@ We have used flannel here, but other CNI should work as well.
 
 
 # :notebook: As a library
 # :notebook: As a library
 
 
-EdgeVPN can be used as a library. It is very portable and offers a functional interface:
+EdgeVPN can be used as a library. It is very portable and offers a functional interface.
+
+To join a node in a network from a token, without starting the vpn:
 
 
 ```golang
 ```golang
 
 
 import (
 import (
-    edgevpn "github.com/mudler/edgevpn/pkg/node"
+    node "github.com/mudler/edgevpn/pkg/node"
 )
 )
 
 
-e := edgevpn.New(edgevpn.Logger(l),
-    edgevpn.LogLevel(log.LevelInfo),
-    edgevpn.MaxMessageSize(2 << 20),
-    edgevpn.WithMTU(1500),
-    edgevpn.WithInterfaceMTU(1300),
-    edgevpn.WithInterfaceAddress(os.Getenv("ADDRESS")),
-    edgevpn.WithInterfaceName(os.Getenv("IFACE")),
+e := node.New(edgevpn.Logger(l),
+    node.LogLevel(log.LevelInfo),
+    node.MaxMessageSize(2 << 20),
+    node.FromBase64( mDNSEnabled, DHTEnabled, token ),
     // ....
     // ....
-    edgevpn.WithInterfaceType(water.TAP))
+  )
+
+e.Start(ctx)
+
+```
+
+or to start a VPN:
+
+```golang
+
+import (
+    vpn "github.com/mudler/edgevpn/pkg/vpn"
+    node "github.com/mudler/edgevpn/pkg/node"
+)
+
+e := node.New(edgevpn.Logger(l),
+    node.LogLevel(log.LevelInfo),
+    node.MaxMessageSize(2 << 20),
+    node.FromBase64( mDNSEnabled, DHTEnabled, token ),
+    // ....
+  )
+
+ledger := e.Ledger()
 
 
-e.Start()
+vpn.Start(ctx, ledger, e, opts..)
 
 
 ```
 ```