finished with build docs

Signed-off-by: PRavaga <trueravaga@gmail.com>
This commit is contained in:
PRavaga 2023-09-08 17:30:41 +04:00
parent 2268889bc6
commit 519a87a7eb
No known key found for this signature in database
GPG key ID: 2A5FC2B63150943E
8 changed files with 192 additions and 158 deletions

151
docs/build/building-from-sources.md vendored Normal file
View file

@ -0,0 +1,151 @@
# Building From Sources
## Linux
### Install prerequisites
```
sudo apt-get install -y build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev cmake git screen checkinstall zlib1g-dev
```
### Download and build Boost
```
curl -OL https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.bz2
echo "430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778 boost_1_70_0.tar.bz2" | shasum -c && tar -xjf boost_1_70_0.tar.bz2
cd boost_1_70_0
./bootstrap.sh --with-libraries=system,filesystem,thread,date_time,chrono,regex,serialization,atomic,program_options,locale,timer,log
./b2
```
### Install OpenSSL
Please, make sure the paths correspond to your environment (\`/home/user/')
```
curl -OL https://www.openssl.org/source/openssl-1.1.1t.tar.gz
echo "a06b067b7e3bd6a2cb52a06f087ff13346ce7360 openssl-1.1.1t.tar.gz" | shasum -c && tar xzf openssl-1.1.1t.tar.gz
cd openssl-1.1.1t/
./config --prefix=/home/user/openssl --openssldir=/home/user/openssl shared zlib
make
make test
make install
```
### Checkout Zano from github
Mainnet:
```
git clone --recursive https://github.com/hyle-team/zano.git
```
Testnet:
```
git clone --recursive https://github.com/hyle-team/zano.git -b cryptoassets
```
### Set environment variables
For instance, by adding the following lines to ~/.bashrc
Server version
```
export BOOST_ROOT=/home/user/boost_1_70_0
export OPENSSL_ROOT_DIR=/home/user/openssl
```
GUI version
```
export BOOST_ROOT=/home/user/boost_1_70_0
export OPENSSL_ROOT_DIR=/home/user/openssl
export QT_PREFIX_PATH=/home/user/Qt5.11.2/5.11.2/gcc_64
```
### Build the binaries
Mainnet:
```
cd zano && mkdir build && cd build
cmake
make -j1 daemon simplewallet
```
Testnet:
```
cd zano && mkdir build && cd build
cmake -D TESTNET=TRUE ..
make -j1 daemon simplewallet
```
### Build GUI
```
cd zano
utils/build_script_linux.sh
```
## Windows
Install required prerequisites (Boost, Qt, CMake, OpenSSL)
Rename `utils/configure_local_paths.cmd.example` to `utils/configure_local_paths.cmd` and edit paths in this file so they correspond to your environment.
Mainnet:
Run one of `utils/configure_win64_msvsNNNN_gui.cmd` according to your MSVC version.
Testnet:
Run one of `utils/configure_win64_msvsNNNN_testnet.cmd` according to your MSVC version.
Go to the build folder and open generated Zano.sln in MSVC and build it.
### Build GUI
In order to correctly deploy Qt GUI application, you also need to do the following:
Copy Zano.exe to a folder (e.g. `depoy`).
Run `PATH_TO_QT\bin\windeployqt.exe deploy\Zano.exe`.
Copy folder `\src\gui\qt-daemon\html` to `deploy\html`.
Now you can run `Zano.exe`
## MacOS
Install required prerequisites.
Set environment variables as stated in `utils/macosx_build_config.command`
```
mkdir build
cd build
cmake -D TESTNET=TRUE ..
make
```
### Build GUI
Create self-signing certificate via Keychain Access:
Run Keychain Access
Choose Keychain Access > Certificate Assistant > Create a Certificate
Use “Zano” (without quotes) as certificate name
Choose “Code Signing” in “Certificate Type” field
Press “Create”, then “Done”
Make sure the certificate was added to keychain "System". If not—move it to "System"
Double click the certificate you've just added, enter the trust section and under "When using this certificate" select "Always trust"
Unfold the certificate in Keychain Access window and double click the underlying private key "Zano". Select "Access Control" tab, then select "Allow all applications to access this item". Click "Save Changes"
Revise building script, comment out unwanted steps and run it: utils/build_script_mac_osx.sh
The application should be here: /buid_mac_osx_64/release/src

View file

@ -0,0 +1,7 @@
# burn_asset
Burns coins for the asset, possible only if current wallet is a maintainer for the asset AND possess given amount of coins to burn
```
burn_asset <asset_id> <amount>
```

View file

@ -0,0 +1,9 @@
# emit-asset
Mint more coins for the asset, possible only if current wallet is a maintainer for the asset
### Command
```
emmit_asset <asset_id> <amount>
```

View file

@ -0,0 +1,17 @@
# update_asset
Updates asset descriptor's metadata, possible only if current wallet is a maintainer for the asset
### Parameters File
```
{
"meta_info": "Updated metadata"
}
```
### Command
```
update_asset <asset_id> <path_to_metadata_file>
```

View file

@ -1,4 +1,4 @@
{
"label": "JSON RPC API",
"label": "API Reference",
"position": 3
}

View file

@ -1,150 +0,0 @@
# How to launch a confidential asset
:::info As of the time of writing, asset creation is only supported by the CLI wallet (simplewallet).
Binaries and support for the GUI wallet is expected soon.
:::
:::tip Feel free to skip to the Creating asset part you're using pre-built binaries available here https://docs.zano.org/docs/testnet-builds
:::
## Building a Testnet Wallet
### Linux
**Install prerequisites**
```
sudo apt-get install -y build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev cmake git screen checkinstall zlib1g-dev
```
**Download and build Boost**
```
curl -OL https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.bz2
echo "430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778 boost_1_70_0.tar.bz2" | shasum -c && tar -xjf boost_1_70_0.tar.bz2
cd boost_1_70_0
./bootstrap.sh --with-libraries=system,filesystem,thread,date_time,chrono,regex,serialization,atomic,program_options,locale,timer,log
./b2
```
**Install OpenSSL**
Please, make sure the paths correspond to your environment (`/home/user/')
```
curl -OL https://www.openssl.org/source/openssl-1.1.1t.tar.gz
echo "a06b067b7e3bd6a2cb52a06f087ff13346ce7360 openssl-1.1.1t.tar.gz" | shasum -c && tar xzf openssl-1.1.1t.tar.gz
cd openssl-1.1.1t/
./config --prefix=/home/user/openssl --openssldir=/home/user/openssl shared zlib
make
make test
make install
```
**Checkout Zano from github (branch `cryptoassets`)**
```
git clone --recursive https://github.com/hyle-team/zano.git -b cryptoassets
```
**Build the binaries for the testnet**
```
cd zano && mkdir build && cd build
cmake -D TESTNET=TRUE ..
make -j1 daemon simplewallet
```
### Windows
Install required prerequisites (Boost, Qt, CMake, OpenSSL)<br/>
Rename `utils/configure_local_paths.cmd.example` to `utils/configure_local_paths.cmd` and edit paths in this file so they correspond to your environment.<br/>
Run one of `utils/configure_win64_msvsNNNN_testnet`.cmd according to your MSVC version.<br/>
Go to the build folder and open generated Zano.sln in MSVC<br/>
Build it.<br/>
### MacOS
Install required prerequisites.
Set environment variables as stated in `utils/macosx_build_config.command`
```
mkdir build
cd build
cmake -D TESTNET=TRUE ..
make
```
## Creating the Asset
To deploy a new asset on the Zano blockchain, you need to prepare a JSON-formatted file with asset parameters. Heres an example:
```
{
"ticker": "CT",
"full_name": "Confidential token",
"total_max_supply": 100000000000000000,
"current_supply": 1000000000000000,
"decimal_point": 12,
"meta_info": ""
}
```
Then run the following command specifying the route to the file:
```
deploy_new_asset <asset specs file location>
```
You should see a confirmation message upon successful execution
![alt launch-asset-confirmation-message](../../../static/img/build/testnet-resources/how-to-launch-confidential-asset/launch-asset-confirmation-message.png "launch-asset-confirmation-message")
## Other Asset Commands
### Whitelisting
By default, new assets are not whitelisted and wont show up in the wallets beside deployer. This feature prevents spam and the cluttering of the wallet with unsolicited tokens. It also allows use cases where the asset id is only shared between a closed group of users and others are unable to access the balance in that asset even if they have it in the wallet.
To add it to your wallet, it needs to be explicitly added to the allow list using the following command:
```
add_custom_asset_id <asset id>
```
The Zano dev team will also maintain a shared whitelist of assets enabled by default.
### Transfer
To transfer an asset, the simplewallet uses the same command as a native coin transfer, but youll need to specify the asset id before the receiving address.
```
transfer <mixin count> [asset id:]<receiving address> <amount>
```
Heres an example:
```
transfer 10 e03a140b8447d2895290022b25c06bdabea514e2475ae56ce5bcbc554ab9865c:ZxBrXwuFw9MPCgS9tmgfhu6mrCq21GEjKgEUEtEQtF8ccPiXTxLaMtqKPJHPXVzBq5e4YatGCrR8v9tBf4Fbv5F32YWQUwCVN 100
```
### Checking balance
To check the balance, use the following command:
```
balance
```
![alt lauch-asset-check-balance](../../../static/img/build/testnet-resources/how-to-launch-confidential-asset/lauch-asset-check-balance.png "lauch-asset-check-balance")
However, the wallet will not automatically refresh. To see any updates or changes to your balance, you'll need to manually refresh the wallet with the following command:
```
refresh
```

View file

@ -22,4 +22,4 @@ Available on the [Zano Website](https://new.zano.org/downloads) and [Github](htt
### Testnet builds and resources
For development purposes we provide a pre-built Testnet apps available [Testnet Resources](https://docs-zano.pages.dev) section
For development purposes we provide a pre-built Testnet apps available [Testnet Resources](https://docs-zano.pages.dev/docs/build/testnet-resources/testnet-builds) section

View file

@ -27,8 +27,8 @@ const content = [
title: "Getting Started",
items: [
{
link: "#",
linkText: "Setup local environment",
link: "docs/use/overview",
linkText: "Setup your environment",
content:
"Kickstart your Zano experience. Start with GUI wallet or get hands-on with the Zano CLI and set up your local development environment. Whether you're a developer or an enthusiast, this is your first step.",
},
@ -38,13 +38,13 @@ const content = [
title: "Mine and Stake",
items: [
{
link: "#",
link: "docs/mine/overview",
linkText: "Mining Guide",
content:
"Venture into Zano's dual earning avenues. Learn how to mine Zano efficiently, ensuring optimal returns and network security.",
},
{
link: "#",
link: "docs/stake/overview",
linkText: "Staking Guide",
content:
"Explore the intricacies of staking on the Zano platform. Understand the rewards, risks, and best practices to maximize your stake's potential.",
@ -55,13 +55,13 @@ const content = [
title: "Build on Zano",
items: [
{
link: "#",
link: "docs/build/rpc-api/overview",
linkText: "Development APIs",
content:
"Harness Zano's powerful suite of APIs. Tailored for developers looking to innovate and integrate with the Zano platform, these comprehensive guides will get you started.",
},
{
link: "#",
link: "docs/build/confidential-assets/overview",
linkText: "Zano Confidential Assets",
content:
"Deploy a tokens with native privacy features. Experiment, test, and deploy Confidential Assets within the Zano network with ease. Perfect for developers new to privacy coins, or those looking to test new concepts.",