Compiling and Running yoyow-core¶
Recommended Hardware Environment¶
System configuration: two cores, 4G memory
Recommended System: Ubuntu 16.04 LTS (64-bit)
sudo apt-get update sudo apt-get install autoconf cmake make automake libtool git libboost-all-dev libssl-dev g++ libcurl4-openssl-dev
git clone https://github.com/yoyow-org/yoyow-core.git cd yoyow-core git checkout yy-mainnet # may substitute "yy-mainnet" with current release tag git submodule update --init --recursive mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release ../ make yoyow_node make yoyow_client
After the compilation is completed, two binary files are generated, yoyow_node and yoyow_client.
Yoyow_node is generally called a node program and is mainly used to connect to a blockchain network. The functions include synchronizing data on the chain, broadcasting transactions, and providing basic API, etc.
Yoyow_client is generally called a client program. It further encapsulates the API provided by the node program to provide users with a more friendly API. It also provides private key storage management and cryptographic signature function, so it is also called a wallet program.
When the node program runs, it automatically creates a directory
witness_node_data_dir that stores data and configuration files. It takes several hours to synchronize all the data. After the synchronization is completed, you can stop the operation with Ctrl+C.
It should be noted that after inputting Ctrl+C, the program will continue to run for a while. Do not type Ctrl+C again. Otherwise, the database will be inconsistent. It may take a long time to replay the next time you start the node.
After receiving Ctrl+C, the program will print out in the log
1553960ms asio main.cpp:238 operator() ] Caught SIGINT attempting to exit cleanly 1553960ms th_a main.cpp:251 main ] Exiting from signal 2
At this point, wait patiently for the program to exit.
When the node program runs, the websocket interface is not opened by default, and you need to add parameters when executing.
./programs/yoyow_node/yoyow_node --rpc-endpoint 127.0.0.1:8090
You can also directly modify the configuration of rpc-endpoint in the configuration file
Client Program (Wallet)¶
The client program needs to connect to the websocket interface of the node program at runtime. By default, it will try to connect to 127.0.0.1:8090. You can also use the
-s parameter to specify other addresses.
./programs/yoyow_client/yoyow_client -s ws://188.8.131.52:10011
The client program provides a command line that can be interactive. You can perform some operations by typing the relevant commands through the command line.
As mentioned above, the client program saves the private key. For security reasons, in the operation of using the private key, you need to use the password to unlock the client. The password settings and unlock command are as follows:
>>> set_password <PASSWORD> >>> unlock <PASSWORD>
Then you can import the private key
unlocked >>> import_key <account> <private_key>
More supported commands can be viewed with the help command or by looking at the wallet api documentation.