On the base of cellframe blockchain is realised conception of service providing. At this stage working realization of this concept is VPN. Using node, working in special way (setup of which is described below), is realised task of authorization clients and centralized payment services. ## Node setup for work in CDB regime ### Setup CDB-node 1. Install actual version of cellframe-node with "full" role. For server working you should specify 80 port during installation. 2. Download actual distributive of CDB-plugin from private server and install it. Authorization on private server is realised with openSSL-certificates. To get such serfiticate - you should request to administrator. 3. Turn on binary plugin support in confuguration node file  "/opt/cellframe-node/etc/cellframe.cfg" and uncomment strings _[plugins]_ and _enabled=true_ in this section. ### Setup node configuration CDB configuration is performed in it's own configuration file "/opt/cellframe-node/var/lib/plugins/libcellframe-node-cdb/libcellframe-node-cdb.cfg_". File will be have approximately such content: ```c # Central Database [cdb] enabled=true servers_list_check=true servers_list_check_periods=[300] servers_list_enabled=true servers_list_networks=[riemann] cache_expire=300 # Central Database authorization [cdb_auth] enabled=true mode=both collection_name=dapDb domain=mydomain tx_cond_create=true tx_cond_templates=[mywallet0:0.00001:3600:KELT:riemann] ``` In [cdb] section must be installed parameter `enabled` in `true` to turn on CDB-plugin. Parameter `server_list_enabled` should be `true` to make list of servers active. Also we turn `servers_list_check` on `true` to enable periodic check of servers list. CDB itself will check list of orders with periodicity specified in `servers_list_check_periods`. Parameter `servers_list_networks` needed to specify name of network where CDB will work. In section [cdb_auth] you must turn parameter `enabled` on `true` to activate client authorization in CDB. For support of paid regime is necessary to uncomment and establish parameter `tx_cond_create` in `true` to allow CDB create conditional transactions for clients. `tx_cond_templates` - template for creating conditional transaction. There: `mywallet0` - wallet from which will be taken means to create conditional transactions `0.00001` - sum which must be transfered on conditional output `3600` - minimal timeout between creations of conditional transactions (at this moment not in usage `KELT` - ticker of payment token. Pay attention that payment of different services is performed just in native token. `riemann` - network in which conditional tranasction is created Rest of the parameters can be left by default. ### Adding VPN-node in list of servers After VPN-node was added in node-list and was created correspondong order, it must be added in list of servers on CDB (saving statistical list of orders). To make this it's necessary to perform command `cellframe-node-cli vpn_cdb -net riemann order static save` on CDB. After this node should appeare in the server list. In case if it's necessary to delete node from server list you can just delete it's order and then perform command `cellframe-node-cli vpn_cdb -net riemann order static del`, deleting all orders from the list and then save list of orders again by using command `cellframe-node-cli vpn_cdb -net riemann order static save`. ### Generation of the serial key for user For serial key generation you must perform command `cellframe-node-cli vpn_cdb serial generate -n <number of serial keys>] [-active_days <active days that left for serial>]` in CDB, after that there will appear list of all generated serial keys in console. The list of all keys can be show with command `cellframe-node-cli vpn_cdb serial list`.