Eris DB
![]() |
Linux |
---|---|
Master | |
Develop |
Eris DB is Eris' blockchain client. It includes a permissions layer, an implementation of the Ethereum Virtual Machine, and uses Tendermint Consensus. Most functionality is provided by eris chains
, exposed through eris-cli, the entry point for the Eris Platform.
Table of Contents
Background
See the eris-db documentation for more information.
Installation
eris-db
is intended to be used by the eris chains
command via eris-cli. Available commands such as make | start | stop | logs | inspect | update
are used for chain lifecycle management.
For Developers
- Install go
- Ensure you have
gmp
installed (sudo apt-get install libgmp3-dev || brew install gmp
) go get github.com/eris-ltd/eris-db/cmd/erisdb
To run erisdb
, just type $ erisdb /path/to/working/folder
This will start the node using the provided folder as working dir. If the path is omitted it defaults to ~/.erisdb
Usage
Once the server has started, it will begin syncing up with the network. At that point you may begin using it. The preferred way is through our javascript api, but it is possible to connect directly via HTTP or websocket. The JSON-RPC and web-api reference can be found here
Configuration Files
Three files are currently required:
config.toml
genesis.json
priv_validator.json
while server_conf.toml
is optional
Security
NOTE: CORS and TLS are not yet fully implemented, and cannot be used. CORS is implemented through gin middleware, and TLS through the standard Go http package via the graceful library.
server_conf.toml (example)
[bind]
address="0.0.0.0"
port=1337
[TLS]
tls=false
cert_path=""
key_path=""
[CORS]
enable=false
allow_origins=[]
allow_credentials=false
allow_methods=[]
allow_headers=[]
expose_headers=[]
max_age=0
[HTTP]
json_rpc_endpoint="/rpc"
[web_socket]
websocket_endpoint="/socketrpc"
max_websocket_sessions=50
read_buffer_size = 4096
write_buffer_size = 4096
[logging]
console_log_level="info"
file_log_level="warn"
log_file=""
Bind
-
address
is the address. -
port
is the port number
TLS
-
tls
is used to enable/disable TLS -
cert_path
is the absolute path to the certificate file. -
key_path
is the absolute path to the key file.
CORS
-
enable
is whether or not the CORS middleware should be added at all. Not implemented: see above.
HTTP
-
json_rpc_endpoint
is the name of the endpoint used for JSON-RPC (2.0) over HTTP.
web_socket
-
websocket_endpoint
is the name of the endpoint that is used to establish a websocket connection. -
max_websocket_connections
is the maximum number of websocket connections that is allowed at the same time. -
read_buffer_size
is the size of the read buffer for each socket in bytes. -
read_buffer_size
is the size of the write buffer for each socket in bytes.
logging
-
console_log_level
is the logging level used for the console. -
file_log_level
is the logging level used for the log file. -
log_file
is the path to the log file. Leaving this empty means file logging will not be used.
The possible log levels are these: crit
, error
, warn
, info
, debug
.
The server log level will override the log level set in the Tendermint config.toml
.
Contribute
See the eris platform contributing file here.