From fa5c149ffd6b83cd1ea423703d12742b66c8b682 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Apr 2026 22:24:13 +0100 Subject: [PATCH] rebrand(lethean): update branding, ports, and config for Lethean blockchain MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Coin: Zano → Lethean, ticker: ZAN/ZANO → LTHN - Ports: 11211 → 36941 (mainnet RPC), 46941 (testnet RPC) - Wallet: 11212 → 36944/46944 - Address prefix: iTHN - URLs: zano.org → lethean.io - Explorer links: explorer.lthn.io Co-Authored-By: Claude Opus 4.6 (1M context) --- Dockerfile | 10 + README.md | 3 +- docs/build/building-from-sources.md | 56 ++- docs/build/confidential-assets/ionic-swaps.md | 35 +- docs/build/confidential-assets/overview.md | 54 ++- docs/build/deeplinks.md | 76 ++-- .../build/exchange-guidelines/exchange-faq.md | 9 +- .../exchange-guidelines/gateway_addresses.md | 67 +-- .../integrated-addresses-for-exchanges.md | 51 ++- docs/build/exchange-guidelines/jwt-guide.md | 13 +- .../multi-assets-custody-guide.md | 67 +-- .../exchange-guidelines/production-node.md | 9 +- .../signing-transactions-offline.md | 45 +- ...nd-the-wallet-application-as-rpc-server.md | 82 +++- docs/build/how-to-verify-downloaded-builds.md | 15 +- docs/build/libraries/_category_.json | 3 +- docs/build/libraries/overview.md | 67 ++- .../marketplace/marketplace-api-guide.md | 18 +- docs/build/overview.md | 17 +- docs/build/public-nodes.md | 43 +- .../rpc-api/daemon-rpc-api/alias_lookup.md | 4 +- .../daemon-rpc-api/check_keyimages.bin.md | 2 +- .../daemon-rpc-api/decrypt_tx_details.md | 6 +- .../find_outs_in_recent_blocks.md | 4 +- .../rpc-api/daemon-rpc-api/force_relay.md | 2 +- .../daemon-rpc-api/gateway_create_transfer.md | 4 +- .../gateway_get_address_history.md | 12 +- .../gateway_get_address_info.md | 2 +- .../daemon-rpc-api/gateway_sign_transfer.md | 2 +- .../daemon-rpc-api/get_alias_by_address.md | 4 +- .../daemon-rpc-api/get_alias_details.md | 4 +- .../daemon-rpc-api/get_alias_reward.md | 2 +- .../rpc-api/daemon-rpc-api/get_aliases.md | 6 +- .../daemon-rpc-api/get_all_alias_details.md | 6 +- .../daemon-rpc-api/get_all_pool_tx_list.md | 2 +- .../daemon-rpc-api/get_alt_block_details.md | 2 +- .../daemon-rpc-api/get_alt_blocks_details.md | 2 +- .../rpc-api/daemon-rpc-api/get_asset_info.md | 6 +- .../rpc-api/daemon-rpc-api/get_assets_list.md | 10 +- .../daemon-rpc-api/get_blocks_details.md | 2 +- .../get_current_core_tx_expiration_median.md | 2 +- .../get_est_height_from_date.md | 2 +- .../daemon-rpc-api/get_integrated_address.md | 8 +- .../daemon-rpc-api/get_main_block_details.md | 2 +- .../daemon-rpc-api/get_multisig_info.md | 2 +- .../daemon-rpc-api/get_o_indexes.bin.md | 2 +- .../rpc-api/daemon-rpc-api/get_out_info.md | 2 +- .../rpc-api/daemon-rpc-api/get_pool_info.md | 4 +- .../get_pool_txs_brief_details.md | 2 +- .../daemon-rpc-api/get_pool_txs_details.md | 2 +- .../daemon-rpc-api/get_pos_details.bin.md | 2 +- .../rpc-api/daemon-rpc-api/get_tx_details.md | 2 +- .../rpc-api/daemon-rpc-api/get_tx_pool.bin.md | 2 +- .../build/rpc-api/daemon-rpc-api/get_votes.md | 2 +- .../rpc-api/daemon-rpc-api/getblockcount.md | 2 +- .../daemon-rpc-api/getblockheaderbyhash.md | 2 +- .../daemon-rpc-api/getblockheaderbyheight.md | 2 +- .../rpc-api/daemon-rpc-api/getblocks.bin.md | 2 +- .../daemon-rpc-api/getblocktemplate.md | 4 +- .../build/rpc-api/daemon-rpc-api/getheight.md | 2 +- docs/build/rpc-api/daemon-rpc-api/getinfo.md | 2 +- .../daemon-rpc-api/getlastblockheader.md | 2 +- .../daemon-rpc-api/getrandom_outs.bin.md | 2 +- .../rpc-api/daemon-rpc-api/getrandom_outs.md | 2 +- .../daemon-rpc-api/getrandom_outs1.bin.md | 2 +- .../rpc-api/daemon-rpc-api/getrandom_outs1.md | 2 +- .../daemon-rpc-api/getrandom_outs3.bin.md | 2 +- .../rpc-api/daemon-rpc-api/getrandom_outs3.md | 2 +- .../daemon-rpc-api/getrandom_outs4.bin.md | 2 +- .../rpc-api/daemon-rpc-api/getrandom_outs4.md | 2 +- .../rpc-api/daemon-rpc-api/gettransactions.md | 2 +- .../marketplace_global_get_offers_ex.md | 8 +- .../rpc-api/daemon-rpc-api/on_getblockhash.md | 2 +- .../rpc-api/daemon-rpc-api/search_by_id.md | 2 +- .../daemon-rpc-api/sendrawtransaction.md | 2 +- .../set_maintainers_info.bin.md | 2 +- .../rpc-api/daemon-rpc-api/submitblock.md | 2 +- .../rpc-api/daemon-rpc-api/submitblock2.md | 2 +- .../daemon-rpc-api/validate_signature.md | 2 +- docs/build/rpc-api/daemon-rpc.md | 11 +- docs/build/rpc-api/how-to-call-api.md | 49 ++- docs/build/rpc-api/overview.md | 15 +- .../wallet-rpc-api/assets_whitelist_add.md | 6 +- .../wallet-rpc-api/assets_whitelist_get.md | 10 +- .../wallet-rpc-api/assets_whitelist_remove.md | 2 +- .../wallet-rpc-api/attach_asset_descriptor.md | 2 +- .../rpc-api/wallet-rpc-api/burn_asset.md | 4 +- .../clear_utxo_cold_sig_reservation.md | 2 +- .../rpc-api/wallet-rpc-api/decrypt_data.md | 2 +- .../rpc-api/wallet-rpc-api/deploy_asset.md | 8 +- .../rpc-api/wallet-rpc-api/emit_asset.md | 4 +- .../rpc-api/wallet-rpc-api/encrypt_data.md | 2 +- .../wallet-rpc-api/force_rescan_tx_pool.md | 2 +- .../wallet-rpc-api/get_bare_outs_stats.md | 2 +- .../wallet-rpc-api/get_bulk_payments.md | 2 +- .../wallet-rpc-api/get_mining_history.md | 2 +- .../rpc-api/wallet-rpc-api/get_payments.md | 2 +- .../wallet-rpc-api/get_recent_txs_and_info.md | 12 +- .../get_recent_txs_and_info2.md | 12 +- .../get_recent_txs_and_info3.md | 12 +- .../wallet-rpc-api/get_restore_info.md | 2 +- .../wallet-rpc-api/get_seed_phrase_info.md | 4 +- .../rpc-api/wallet-rpc-api/get_wallet_info.md | 4 +- .../rpc-api/wallet-rpc-api/getaddress.md | 4 +- .../rpc-api/wallet-rpc-api/getbalance.md | 6 +- .../ionic_swap_accept_proposal.md | 2 +- .../ionic_swap_generate_proposal.md | 4 +- .../ionic_swap_get_proposal_info.md | 2 +- .../wallet-rpc-api/make_integrated_address.md | 2 +- .../marketplace_cancel_offer.md | 2 +- .../marketplace_get_offers_ex.md | 8 +- .../wallet-rpc-api/marketplace_push_offer.md | 8 +- .../marketplace_push_update_offer.md | 8 +- .../rpc-api/wallet-rpc-api/mw_get_wallets.md | 8 +- .../wallet-rpc-api/mw_select_wallet.md | 2 +- .../rpc-api/wallet-rpc-api/proxy_to_daemon.md | 2 +- .../rpc-api/wallet-rpc-api/register_alias.md | 4 +- .../register_gateway_address.md | 2 +- .../wallet-rpc-api/search_for_transactions.md | 28 +- .../search_for_transactions2.md | 28 +- .../send_ext_signed_asset_tx.md | 2 +- .../rpc-api/wallet-rpc-api/sign_message.md | 2 +- .../rpc-api/wallet-rpc-api/sign_transfer.md | 2 +- .../split_integrated_address.md | 4 +- docs/build/rpc-api/wallet-rpc-api/store.md | 2 +- .../rpc-api/wallet-rpc-api/submit_transfer.md | 2 +- .../rpc-api/wallet-rpc-api/sweep_bare_outs.md | 2 +- .../rpc-api/wallet-rpc-api/sweep_below.md | 4 +- docs/build/rpc-api/wallet-rpc-api/transfer.md | 8 +- .../transfer_asset_ownership.md | 2 +- .../rpc-api/wallet-rpc-api/update_alias.md | 4 +- .../rpc-api/wallet-rpc-api/update_asset.md | 6 +- docs/build/rpc-api/wallet-rpc.md | 9 +- .../build/testnet-resources/testnet-builds.md | 54 +-- .../build/testnet-resources/testnet-faucet.md | 9 +- docs/build/verified-features.md | 398 ++++++++++++++++++ docs/build/zano-companion/_category_.json | 3 +- .../accept-ionic-swap-proposal.md | 4 +- .../build/zano-companion/get-alias-details.md | 4 +- .../zano-companion/get-wallet-balance.md | 6 +- docs/build/zano-companion/get-wallet-data.md | 4 +- docs/build/zano-companion/get-whitelist.md | 10 +- .../zano-companion/ionic-swap-proposal.md | 4 +- docs/build/zano-companion/message-sign.md | 6 +- docs/build/zano-trade-api/_category_.json | 3 +- .../apply-for-matched-order.md | 4 +- .../build/zano-trade-api/overview/overview.md | 27 +- .../ping-activity-checker.md | 4 +- .../zano-trade-api/trade-api/trade-api.md | 4 +- docs/code/overview.md | 5 +- docs/code/serialization-types.md | 17 +- docs/learn/coinswap-transactions.md | 3 +- docs/learn/emission.md | 75 ++-- docs/learn/frequently-asked-questions.md | 187 ++++---- docs/learn/lethean-features/_category_.json | 5 + docs/learn/lethean-features/overview.md | 128 ++++++ docs/learn/reviews.md | 11 +- docs/learn/specifications.md | 49 ++- docs/learn/what-is-lethean.md | 43 ++ docs/learn/what-is-zano.md | 37 -- docs/learn/whitepaper.md | 35 +- docs/learn/zano-features/_category_.json | 4 - docs/learn/zano-features/overview.md | 127 ------ docs/mine/overview.md | 69 ++- docs/mine/solo-guides/solo-mining-windows.md | 35 +- docs/mine/solo-guides/solo_mining_amd.md | 13 +- docs/mine/solo-guides/solo_mining_nvidia.md | 33 +- docs/stake/_category_.json | 4 +- .../stake/advanced-setup/remote-server-pos.md | 25 +- ...-on-boot.mdx => stake-lethean-on-boot.mdx} | 59 +-- docs/stake/getting-started/_category_.json | 4 +- .../getting-started/estimating-pos-rewards.md | 8 +- .../getting-started/proof-of-stake-mining.md | 21 +- docs/stake/overview.md | 30 +- .../proof-of-stake-recommendations.md | 49 +-- docs/use/companion.md | 25 +- docs/use/legacy/escrow-contracts.md | 14 +- docs/use/legacy/zarcanum-migration.md | 11 +- ...rix-guide.mdx => lethean-matrix-guide.mdx} | 37 +- docs/use/{zano-trade.md => lethean-trade.md} | 55 +-- docs/use/overview.md | 13 +- docs/use/reporting-issues.md | 17 +- docs/use/wallet-features/aliases.md | 59 ++- docs/use/wallet-features/auditable-wallets.md | 37 +- docs/use/wallet-features/ionic-swaps.md | 7 +- .../cli/install-zano-cli-wallet-ubuntu.md | 151 +++---- docs/use/wallets/cli/seed-doctor.md | 7 +- .../cli/using-zano-cli-wallet-ubuntu.md | 63 +-- docs/use/wallets/gui-wallet.md | 21 +- docs/use/wallets/locked-balance.md | 3 +- docs/use/wallets/overview.md | 43 +- docs/use/wallets/security/seed-phrase.md | 9 +- docs/use/wallets/security/zano-passwords.md | 21 +- docs/use/wrapped-lethean.md | 53 +++ docs/use/wrapped-zano.md | 52 --- docusaurus.config.js | 48 ++- package-lock.json | 4 +- package.json | 3 +- ...-trade_logo.png => lethean-trade_logo.png} | Bin ...uare.png => lethean-trade_logo_square.png} | Bin src/components/Projects/Projects.jsx | 3 +- src/components/StartArticle/StartArticle.jsx | 7 +- src/pages/StartPage/StartPage.jsx | 31 +- .../ping-activity-checker/instant.jpg | Bin .../transfer.png | Bin .../zano-staking.jpg | Bin .../install-extract-appimage.png | Bin .../install-generate-wallet.png | Bin .../install-show-seed.png | Bin .../install-zanod-sync.png | Bin .../matrixexplorer.jpg | Bin .../completed_trade.png | Bin .../ionic_swap1.png | Bin .../my_orders.png | Bin .../new_order1.png | Bin .../new_order2.png | Bin .../order_book2.png | Bin .../trading-pairs.png | Bin .../usage-auditable-wallet.png | Bin .../usage-balance.png | Bin .../usage-open-wallet.png | Bin .../usage-restore-wallet.png | Bin .../usage-staking.png | Bin .../usage-tracking-seed.png | Bin .../usage-transfer.png | Bin .../unwrap.png | Bin .../wrap.png | Bin 227 files changed, 2296 insertions(+), 1378 deletions(-) create mode 100644 Dockerfile create mode 100644 docs/build/verified-features.md create mode 100644 docs/learn/lethean-features/_category_.json create mode 100644 docs/learn/lethean-features/overview.md create mode 100644 docs/learn/what-is-lethean.md delete mode 100644 docs/learn/what-is-zano.md delete mode 100644 docs/learn/zano-features/_category_.json delete mode 100644 docs/learn/zano-features/overview.md rename docs/stake/advanced-setup/{stake-zano-on-boot.mdx => stake-lethean-on-boot.mdx} (57%) rename docs/use/{zano-matrix-guide.mdx => lethean-matrix-guide.mdx} (59%) rename docs/use/{zano-trade.md => lethean-trade.md} (52%) create mode 100644 docs/use/wrapped-lethean.md delete mode 100644 docs/use/wrapped-zano.md rename src/assets/projects/{zano-trade_logo.png => lethean-trade_logo.png} (100%) rename src/assets/projects/{zano-trade_logo_square.png => lethean-trade_logo_square.png} (100%) rename static/img/build/{zano-trade-api => lethean-trade-api}/ping-activity-checker/instant.jpg (100%) rename static/img/learn/{what-is-zano => what-is-lethean}/transfer.png (100%) rename static/img/stake/{staking-zano => staking-lethean}/zano-staking.jpg (100%) rename static/img/use/{install-zano-cli-wallet-ubuntu => install-lethean-cli-wallet-ubuntu}/install-extract-appimage.png (100%) rename static/img/use/{install-zano-cli-wallet-ubuntu => install-lethean-cli-wallet-ubuntu}/install-generate-wallet.png (100%) rename static/img/use/{install-zano-cli-wallet-ubuntu => install-lethean-cli-wallet-ubuntu}/install-show-seed.png (100%) rename static/img/use/{install-zano-cli-wallet-ubuntu => install-lethean-cli-wallet-ubuntu}/install-zanod-sync.png (100%) rename static/img/use/{zano-matrix => lethean-matrix}/matrixexplorer.jpg (100%) rename static/img/use/{zano-trade => lethean-trade}/completed_trade.png (100%) rename static/img/use/{zano-trade => lethean-trade}/ionic_swap1.png (100%) rename static/img/use/{zano-trade => lethean-trade}/my_orders.png (100%) rename static/img/use/{zano-trade => lethean-trade}/new_order1.png (100%) rename static/img/use/{zano-trade => lethean-trade}/new_order2.png (100%) rename static/img/use/{zano-trade => lethean-trade}/order_book2.png (100%) rename static/img/use/{zano-trade => lethean-trade}/trading-pairs.png (100%) rename static/img/use/{using-zano-cli-wallet-ubuntu => using-lethean-cli-wallet-ubuntu}/usage-auditable-wallet.png (100%) rename static/img/use/{using-zano-cli-wallet-ubuntu => using-lethean-cli-wallet-ubuntu}/usage-balance.png (100%) rename static/img/use/{using-zano-cli-wallet-ubuntu => using-lethean-cli-wallet-ubuntu}/usage-open-wallet.png (100%) rename static/img/use/{using-zano-cli-wallet-ubuntu => using-lethean-cli-wallet-ubuntu}/usage-restore-wallet.png (100%) rename static/img/use/{using-zano-cli-wallet-ubuntu => using-lethean-cli-wallet-ubuntu}/usage-staking.png (100%) rename static/img/use/{using-zano-cli-wallet-ubuntu => using-lethean-cli-wallet-ubuntu}/usage-tracking-seed.png (100%) rename static/img/use/{using-zano-cli-wallet-ubuntu => using-lethean-cli-wallet-ubuntu}/usage-transfer.png (100%) rename static/img/use/{wrapped-zano => wrapped-lethean}/unwrap.png (100%) rename static/img/use/{wrapped-zano => wrapped-lethean}/wrap.png (100%) diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..15e62ca --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM node:22-alpine AS build +WORKDIR /app +COPY package*.json ./ +RUN npm ci +COPY . . +RUN npm run build + +FROM nginx:alpine +COPY --from=build /app/build /usr/share/nginx/html +EXPOSE 80 diff --git a/README.md b/README.md index 0829fa3..8fe4078 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zano Documentation +# Lethean Documentation This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. @@ -39,3 +39,4 @@ $ GIT_USER= yarn deploy ``` If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. + diff --git a/docs/build/building-from-sources.md b/docs/build/building-from-sources.md index 3444372..ceaa58f 100644 --- a/docs/build/building-from-sources.md +++ b/docs/build/building-from-sources.md @@ -1,3 +1,57 @@ # Building From Sources -Please, use the build manual from the Zano repo: https://github.com/hyle-team/zano/blob/master/README.md +### Prerequisites + +- Linux x86_64 (Ubuntu 22.04+ recommended) +- CMake 3.16+ +- C++17 compiler (GCC 11+ or Clang 14+) +- Boost 1.75+ +- OpenSSL +- Conan package manager (installed automatically by Makefile) + +```bash +# Ubuntu/Debian +sudo apt-get install build-essential cmake git libboost-all-dev libssl-dev pkg-config +``` + +### Clone and build + +```bash +git clone https://github.com/lethean-io/blockchain.git +cd blockchain + +# Testnet build +make testnet + +# Mainnet build +make mainnet +``` + +### Build outputs + +| Binary | Description | +|--------|-------------| +| `lethean-chain-node` | Blockchain daemon | +| `lethean-wallet-cli` | Wallet CLI (also serves as RPC server) | +| `lethean-chain-tool` | Chain utility (export/import) | +| `lethean-testnet-chain-node` | Testnet daemon (with `-DTESTNET=1`) | +| `lethean-testnet-wallet-cli` | Testnet wallet | + +### Known issues + +- **Wallet build requires TOR library** — the `tor-connect` submodule may not be available. Add `DISABLE_TOR=TRUE` to CMake flags if the wallet build fails. +- **Conan cache** — first build downloads dependencies via Conan. Subsequent builds use the cache. + +### Release packaging + +```bash +# After building: +make package +# Creates .tar.gz in build/packages/ +``` + +### CI/CD + +A Forgejo Actions workflow is available at `.forgejo/workflows/build-release.yml` for automated builds on tag push. + +> **Verified:** Testnet and mainnet binaries built from source on Ubuntu 24.04 with GCC 14. Daemon builds clean, wallet build requires TOR workaround. diff --git a/docs/build/confidential-assets/ionic-swaps.md b/docs/build/confidential-assets/ionic-swaps.md index f3e276c..4abe717 100644 --- a/docs/build/confidential-assets/ionic-swaps.md +++ b/docs/build/confidential-assets/ionic-swaps.md @@ -6,32 +6,32 @@ sidebar_position: 2 This example illustrates and explains the usage of a technology we call **IonicSwap**, which involves exchanging one asset for another within a single transaction. -Such a transaction is created collaboratively by two users using a secure trustless mechanism (see section 2.4 in [whitepaper](https://hyle-team.github.io/docs/zano/Zano_tokenization_platform.pdf) "Consolidated Transactions"). Initially, one user creates one part of the transaction, and then the second user adds the second part necessary for the transaction to become valid. Afterward, the transaction is sent to the network. +Such a transaction is created collaboratively by two users using a secure trustless mechanism (see section 2.4 in [whitepaper](https://hyle-team.github.io/docs/lethean/Lethean_tokenization_platform.pdf) "Consolidated Transactions"). Initially, one user creates one part of the transaction, and then the second user adds the second part necessary for the transaction to become valid. Afterward, the transaction is sent to the network. Traditionally, we will use the commonly used cryptographic designations for the parties involved - **Initiator** and **Finalizer**. Initiator will act as the initiator, creating the **Ionic Swap Proposal** and sending it to Finalizer, who will then make a decision whether to accept it or not. -Let's assume that the native token **Zano** is circulating in the network with an asset_id of "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a". +Let's assume that the native token **Lethean** is circulating in the network with an asset_id of "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a". Additionally, let's assume that there is a token called **CT** with an asset_id of "e03a140b8447d2895290022b25c06bdabea514e2475ae56ce5bcbc554ab9865c". Let's assume **Initiator** has the following address and balance in her wallet: ``` -ZxD4VNFRSHwMK3DY2Ka66C4SxGiAesSfrcC7vn1u6PSpjMq5v54Pt4wiW4FfGWtrJ55WuvoXtCCYeAL6mEvYU7na1xQioGffJ +iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY balance unlocked / [balance total] ticker asset id -16387469.748 ZANO d6329b5b....51a6498a +16387469.748 LTHN d6329b5b....51a6498a 14.0 CT e03a140b....4ab9865c ``` And **Finalizer** has a wallet with the following address and balance: ``` -ZxDAcbaxXkyWRgYbeARBpngfmFat5TjDjjQA5NAbouB9eytwGWJqA5shAVYeCAHWPo254DF2o2X1td79PNvRr2Yc1b9Ep67ff +iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY balance unlocked / [balance total] ticker asset id - 11738.97 ZANO d6329b5b....51a6498a + 11738.97 LTHN d6329b5b....51a6498a ``` -Initiator is planning to offer Finalizer to exchange 2 coins of the CT token that she possesses (but Finalizer does not) for 10 native coins of ZANO (which Finalizer has). To do this, she generates a proposal through an API call [ionic_swap_generate_proposal](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal) in her wallet with the following parameters: +Initiator is planning to offer Finalizer to exchange 2 coins of the CT token that she possesses (but Finalizer does not) for 10 native coins of LTHN (which Finalizer has). To do this, she generates a proposal through an API call [ionic_swap_generate_proposal](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal) in her wallet with the following parameters: ```json json { @@ -56,7 +56,7 @@ Initiator is planning to offer Finalizer to exchange 2 coins of the CT token tha "fee_paid_by_a": 10000000000, "expiration_time": 0 }, - "destination_address": "ZxDAcbaxXkyWRgYbeARBpngfmFat5TjDjjQA5NAbouB9eytwGWJqA5shAVYeCAHWPo254DF2o2X1td79PNvRr2Yc1b9Ep67ff" + "destination_address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY" } } ``` @@ -67,7 +67,7 @@ In **fee_paid_by_a** she specifies how much fee of this transaction Initiator wi In a **to_finalizer** entry Initiator put list of assets that she wants to transfer to Finalizer, in our case it's only asset "CT" with asset_id "e03a140b8447d2895290022b25c06bdabea514e2475ae56ce5bcbc554ab9865c". -In a **to_initiator**entry Alic put list of assets that she expect to get in exchange, in our case it's 10 coins of Zano (native asset_id "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a") +In a **to_initiator**entry Alic put list of assets that she expect to get in exchange, in our case it's 10 coins of Lethean (native asset_id "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a") As a result of this API call Initiator receive proposal in raw hex format: @@ -85,7 +85,7 @@ As a result of this API call Initiator receive proposal in raw hex format: After **Initiator** got this response, she sends **hex_raw_proposal** to Finalizer by messenger/email or any other available channel. -After **Finalizer** receives the raw proposal from **Initiator**, his first step is to analyze the proposal and ensure that the transaction entails the conditions that suit him. To do this, he calls the API [ionic_swap_get_proposal_info](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/ionic_swap_get_proposal_info) from his wallet and obtains the proposal details that are validated by his wallet using his keys. In our case request and response supposed to look like this: +After **Finalizer** receives the raw proposal from **Initiator**, his first step is to analyze the proposal and ensure that the transaction entails the conditions that suit him. To do this, he calls the API [ionic_swap_get_proposal_info](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/ionic_swap_get_proposal_info) from his wallet and obtains the proposal details that are validated by his wallet using his keys. In our case request and response supposed to look like this: Request: @@ -132,7 +132,7 @@ Response: > > It is critically important for **Finalizer** to analyze this structure and **ensure** that the conditions described therein perfectly reflect his intentions regarding the upcoming swap transaction. -After Finalizer reviewed structure of the proposal, he call API [ionic_swap_accept_proposal](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/ionic_swap_accept_proposal) and by calling this he execute the swap operation. +After Finalizer reviewed structure of the proposal, he call API [ionic_swap_accept_proposal](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/ionic_swap_accept_proposal) and by calling this he execute the swap operation. Request: @@ -166,26 +166,27 @@ After swap tx got confirmed,**Initiator** balance change would look like this: ``` height 42712, tx c08522c94355524cc8a1fa1514419814e99989ba503382256cbffc39a733a186 2.0 spent CT[*] - 9.99 received, ZANO + 9.99 received, LTHN Refresh done, blocks received: 42775 balance unlocked / [balance total] ticker asset id - 16387479.738 ZANO d6329b5b....51a6498a + 16387479.738 LTHN d6329b5b....51a6498a 12.0 CT e03a140b....4ab9865c ``` -Pay attention to transaction c08522c94355524cc8a1fa1514419814e99989ba503382256cbffc39a733a186. For Initiator's wallet, this transaction simultaneously sends the CT token and receives ZANO (the amount minus the transaction fee). +Pay attention to transaction c08522c94355524cc8a1fa1514419814e99989ba503382256cbffc39a733a186. For Initiator's wallet, this transaction simultaneously sends the CT token and receives LTHN (the amount minus the transaction fee). For **Finalizer** balance change would look like that: ``` height 42712, tx c08522c94355524cc8a1fa1514419814e99989ba503382256cbffc39a733a186 - 10.0 spent ZANO + 10.0 spent LTHN 2.0 received, CT[*] Refresh done, blocks received: 42776 balance unlocked / [balance total] ticker asset id - 11728.97 ZANO d6329b5b....51a6498a + 11728.97 LTHN d6329b5b....51a6498a 2.0 CT e03a140b....4ab9865c ``` -From Finalizer's wallet perspective same transaction c08522c94355524cc8a1fa1514419814e99989ba503382256cbffc39a733a186 sends 10 Zano and receives 2 CT tokens. +From Finalizer's wallet perspective same transaction c08522c94355524cc8a1fa1514419814e99989ba503382256cbffc39a733a186 sends 10 Lethean and receives 2 CT tokens. + diff --git a/docs/build/confidential-assets/overview.md b/docs/build/confidential-assets/overview.md index 5ba28d5..47e38ff 100644 --- a/docs/build/confidential-assets/overview.md +++ b/docs/build/confidential-assets/overview.md @@ -4,9 +4,9 @@ sidebar_position: 1 # Overview -Confidential Assets are privacy tokens with all the features of native Zano coin +Confidential Assets are privacy tokens with all the features of native Lethean coin -Confidential Assets Commands are availabe trough CLI interface (simplewallet) +Confidential Assets Commands are availabe trough CLI interface (lethean-wallet-cli) ### Asset Methods @@ -14,7 +14,7 @@ Full list of supported commands available in the Methods section. Assets can be ### Asset Creation Example -To deploy a new asset on the Zano blockchain, you need to prepare a JSON-formatted file with asset parameters. Here’s an example: +To deploy a new asset on the Lethean blockchain, you need to prepare a JSON-formatted file with asset parameters. Here’s an example: ``` { @@ -33,6 +33,50 @@ Then run the following command specifying the route to the file: deploy_new_asset ``` -You should see a confirmation message upon successful execution +You should see a confirmation message upon successful execution. + +### Asset via Wallet RPC + +```bash +curl -X POST http://127.0.0.1:36944/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{ + "jsonrpc":"2.0","method":"deploy_asset", + "params":{ + "asset_descriptor":{ + "ticker":"TEST", + "full_name":"Test Token", + "total_max_supply":100000000000000000, + "current_supply":1000000000000000, + "decimal_point":12, + "meta_info":"A test token on Lethean" + } + } + }' +``` + +### Querying assets on chain + +```bash +# List all assets +curl -X POST http://127.0.0.1:36941/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"get_assets_list","params":{"offset":0,"count":100}}' + +# Get specific asset info +curl -X POST http://127.0.0.1:36941/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"get_asset_info","params":{"asset_id":"ASSET_ID_HERE"}}' +``` + +The native LTHN asset ID is: `d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a` + +### Requirements + +- **HF4 (Zarcanum)** must be active — height 11,000 on testnet/mainnet +- Deploying an asset requires LTHN for the transaction fee +- Only the deployer (maintainer) can emit or burn the asset +- Asset ownership can be transferred via `transfer_asset_ownership` + +> **Verified:** `get_asset_info` RPC tested on testnet — returns native LTHN asset with ticker "LTHN", decimal_point 12. Asset deployment requires HF4. -![alt launch-asset-confirmation-message](../../../static/img/build/testnet-resources/how-to-launch-confidential-asset/launch-asset-confirmation-message.png "launch-asset-confirmation-message") diff --git a/docs/build/deeplinks.md b/docs/build/deeplinks.md index 2150537..b179701 100644 --- a/docs/build/deeplinks.md +++ b/docs/build/deeplinks.md @@ -2,31 +2,59 @@ slug: /use/deeplinks --- -# Deeplinks +# Deep Links -Based on materials of Matthew Reichardt [me@matthewreichardt.com](mailto:me@matthewreichardt.com) ([https://github.com/hyle-team/zano/issues/269](https://github.com/hyle-team/zano/issues/269)) +Lethean uses the `lthn://` URI scheme for deep linking into wallet applications. This allows websites, apps, and QR codes to trigger wallet actions. -### Zano URI Scheme +### URI Scheme -**action** - type of action requested, supported actions: - -- send - simply send coins to given address - -### Action "send" - -Example of **send** command: - -**zano:action -=send&address=ZxCkvE7zhS6JuFE5neAaTtcY8PUT2CwfLZJQWP32jrELB1Vg9oSJyGJDyRWurqX6SXSqxjGz2yrAKaMqmxDa7E8313igosBVT\&comment=Some%20payment** - -- address - address of recipient -- amount - amount of asset to be transfered (in a units with decimal point, like 10.0 coins) -- asset_id - id of the asset to be transfered -- comment - comment about payment\[optional] - -Here is how link would look like in html: -```html -

- Zano link -

``` +lthn://transfer/?address=ADDRESS&amount=AMOUNT&asset_id=ASSET_ID&comment=COMMENT +``` + +### Parameters + +| Parameter | Required | Description | +|-----------|----------|-------------| +| `address` | Yes | Recipient address (starts with `iTHN`) | +| `amount` | No | Amount to send (decimal, e.g. `10.5`) | +| `asset_id` | No | Asset ID for custom tokens (omit for native LTHN) | +| `comment` | No | Payment comment (URL-encoded) | + +### Examples + +**Send 1 LTHN:** +``` +lthn://transfer/?address=iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY&amount=1 +``` + +**Send with comment:** +``` +lthn://transfer/?address=iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY&amount=0.5&comment=VPN%20subscription +``` + +### HTML Usage + +```html + + Pay 1 LTHN + +``` + +### Implementation + +The `lthn://` scheme is handled by: +- **Desktop wallet** (Lethean Desktop) — registered as system URL handler +- **Browser extension** ([Lethean Companion](https://explorer.lthn.io)) — intercepts `lthn://` links in web pages +- **Mobile wallet** (React Native) — registered as app deep link + +The [companion test suite](https://github.com/lethean-io) can be used to test deep link generation. + +### Domains + +| Domain | Purpose | +|--------|---------| +| `.lthn` | Handshake TLD — agent federation identities | +| `lt.hn` | Short URL domain | +| `lethean.io` | Primary website | +| `lthn.sh` | Lab/testnet services | diff --git a/docs/build/exchange-guidelines/exchange-faq.md b/docs/build/exchange-guidelines/exchange-faq.md index 121f8c7..4baa001 100644 --- a/docs/build/exchange-guidelines/exchange-faq.md +++ b/docs/build/exchange-guidelines/exchange-faq.md @@ -16,7 +16,7 @@ You ran out of RAM. Try to limit make job slots by specifying `make -j 1` ### We got compiler/linker error mentioning Boost -Make sure you have built the recommended version of Boost manually (via `./bootstrap.sh`, `./b2`). Please refer to our [github page](https://github.com/hyle-team/zano) for reference. +Make sure you have built the recommended version of Boost manually (via `./bootstrap.sh`, `./b2`). Please refer to our [github page](https://github.com/lethean-io) for reference. ### Wallet RPC is not working. We got "Core is busy" in logs/responses @@ -24,7 +24,7 @@ Make sure the daemon is synchronized with the network. It may take up to few hou ### How to validate an address? -To validate an address you can use [split_integrated_address](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/split_integrated_address). It also works with standard addresses (non integrated one) +To validate an address you can use [split_integrated_address](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/split_integrated_address). It also works with standard addresses (non integrated one) ### How to get all integrated addresses on a wallet? @@ -37,7 +37,7 @@ Yes, It is highly recommended to use randomly generated payment id's to identify ### What transaction fee should we specify in RPCs? -Minimum transaction fee is 0.01 ZANO. +Minimum transaction fee is 0.01 LTHN. ### What are "pub_keys" that we see in transaction output via explorer? @@ -49,4 +49,5 @@ Make sure you pass amounts as integers not strings. ### We can't see our own transfer when filtering by payment id with get_bulk_payments or get_payments RPC calls -Make sure you're not sending coins to yourself (from an address to the very same address). Coins which were sent that way will safely reach their destination (and the balances will be correct) but such a transfer won't be seen when you filer transfers by payment id via [get_bulk_payments](https://docs.zano.org/reference/get_bulk_payments) or [get_payments](https://docs.zano.org/reference/get_payments-2). +Make sure you're not sending coins to yourself (from an address to the very same address). Coins which were sent that way will safely reach their destination (and the balances will be correct) but such a transfer won't be seen when you filer transfers by payment id via [get_bulk_payments](https://testnet-docs.lthn.io/reference/get_bulk_payments) or [get_payments](https://testnet-docs.lthn.io/reference/get_payments-2). + diff --git a/docs/build/exchange-guidelines/gateway_addresses.md b/docs/build/exchange-guidelines/gateway_addresses.md index 0b29ef9..cf24cb8 100644 --- a/docs/build/exchange-guidelines/gateway_addresses.md +++ b/docs/build/exchange-guidelines/gateway_addresses.md @@ -1,8 +1,8 @@ -# Gateway Addresses (GW) in Zano +# Gateway Addresses (GW) in Lethean ## 1. What are Gateway Addresses? -A Gateway Address (GW) is a new type of address in the Zano blockchain that will be introduced starting with Hard Fork 6. Unlike classic addresses, which operate under the UTXO model, GW addresses use an **account-based model**, meaning that the balance is stored directly on the blockchain rather than being represented as a set of separate UTXOs. +A Gateway Address (GW) is a new type of address in the Lethean blockchain that will be introduced starting with Hard Fork 6. Unlike classic addresses, which operate under the UTXO model, GW addresses use an **account-based model**, meaning that the balance is stored directly on the blockchain rather than being represented as a set of separate UTXOs. GW addresses are designed to simplify integration with external systems such as cross-chain bridges, DEXs, exchanges, and payment gateways. They follow an approach that is more familiar to these services and provide a simple API that is, in some respects, closer to those used by more traditional blockchain platforms such as Bitcoin and Ethereum. This makes it easier for such services to use established custody frameworks, including MPC, and helps make the integration process more transparent and reliable. @@ -10,7 +10,7 @@ In addition, because GW addresses use an **account-based model**, they avoid the ## 2. Structure -Gateway Addresses are entities that must first be registered on the blockchain before they can be used. A GW address can only be registered through a standard Zano wallet by calling the Wallet RPC API(see doc below). Once a GW address is registered, it is assigned an ID, which is effectively its public view key, and presented to user as a string starting from gwZ... (regular) or gwiZ...(integrated). After that, coins can be sent to this GW address. +Gateway Addresses are entities that must first be registered on the blockchain before they can be used. A GW address can only be registered through a standard Lethean wallet by calling the Wallet RPC API(see doc below). Once a GW address is registered, it is assigned an ID, which is effectively its public view key, and presented to user as a string starting from gwZ... (regular) or gwiZ...(integrated). After that, coins can be sent to this GW address. Each Gateway Address is associated with two private keys controlled by its owner: a **view key** and a **spend key(owner key)**. In the simplest case, the view key and the spend key may be the same. @@ -24,19 +24,19 @@ The **view key** is used exclusively to derive a shared secret between the sende The **spend key** acts as a master key that controls all operations related to a GW address, including spending funds and assigning a new owner by replacing the spend key. From a security perspective, this is the most critical key, as it ultimately controls all funds associated with the address. -To make integration with Zano convenient for a wide range of services, we implemented support for several signature types that are widely used across the blockchain industry. Below is a description of these signature types, along with the names of the corresponding API fields in the Wallet RPC API [register_gateway_address](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/register_gateway_address): +To make integration with Lethean convenient for a wide range of services, we implemented support for several signature types that are widely used across the blockchain industry. Below is a description of these signature types, along with the names of the corresponding API fields in the Wallet RPC API [register_gateway_address](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/register_gateway_address): | Name in API | Curve | Public key | Signature | Use case | |---|---|---|---|---| | `opt_owner_ecdsa_pub_key` | secp256k1 | 33 bytes (compressed) | 64 bytes
(r \|\| s) | **ECDSA over secp256k1**. This signature type is widely used in blockchain projects such as Ethereum, Bitcoin, and others. | | `opt_owner_eddsa_pub_key` | Ed25519 | 32 bytes | 64 bytes
(R \|\| s) | **EDDSA** (also referred to as EdDSA). This is the variant used in Solana. | -| `opt_owner_custom_schnorr_pub_key` | Ed25519 | 32 bytes | 64 bytes
(c \|\| y) | **Zano custom Schnorr signature**, also based on Ed25519. | +| `opt_owner_custom_schnorr_pub_key` | Ed25519 | 32 bytes | 64 bytes
(c \|\| y) | **Lethean custom Schnorr signature**, also based on Ed25519. | **opt_owner_ecdsa_pub_key(ECDSA)** and **opt_owner_eddsa_pub_key(Ed25519)** were implemented primarily because these standards are widely supported across the blockchain industry and because there is extensive tooling available for building MPC solutions with these key types. -**opt_owner_custom_schnorr_pub_key(Zano custom Schnorr signature)** is an internal algorithm native to the Zano codebase and integrated into Zano’s core transaction protocols. It has similarities to the scheme used in Solana and relies on the same elliptic curve, but for historical reasons it differs in several implementation details, including the hash function used in the Schnorr algorithm. +**opt_owner_custom_schnorr_pub_key(Lethean custom Schnorr signature)** is an internal algorithm native to the Lethean codebase and integrated into Lethean’s core transaction protocols. It has similarities to the scheme used in Solana and relies on the same elliptic curve, but for historical reasons it differs in several implementation details, including the hash function used in the Schnorr algorithm. -Note: View key (`view_pub_key`) can be only **Zano custom Schnorr signature**, as it involved in internal protocol machinery. Only spend key could be assigned as **ECDSA**/**EDDSA*** +Note: View key (`view_pub_key`) can be only **Lethean custom Schnorr signature**, as it involved in internal protocol machinery. Only spend key could be assigned as **ECDSA**/**EDDSA*** All three types use the compact signature format (64 bytes, without the recovery byte `v`). The signature is transmitted as a hex string (128 characters). @@ -54,13 +54,13 @@ This design makes GW addresses suitable for use cases such as bridges, exchanges ## 3. Creating a GW address -Registration of a GW address is done via **wallet RPC** (`register_gateway_address`), a Zano wallet with sufficient balance is required. +Registration of a GW address is done via **wallet RPC** (`register_gateway_address`), a Lethean wallet with sufficient balance is required. ### Prerequisites #### **IMPORTANT**: You must use **YOUR OWN NODE**, as the `view key` will be transferred there. -- Running and synced Zano daemon (`zanod`) on a network with hard fork 6+ -- A wallet with RPC server enabled [(HOWTO)](https://docs.zano.org/docs/build/exchange-guidelines/starting-the-daemon-and-the-wallet-application-as-rpc-server) -- Balance of at least **~100.01 ZANO** (100 ZANO - Registration fee + Default fee) +- Running and synced Lethean daemon (`lethean-chain-node`) on a network with hard fork 6+ +- A wallet with RPC server enabled [(HOWTO)](https://testnet-docs.lthn.io/docs/build/exchange-guidelines/starting-the-daemon-and-the-wallet-application-as-rpc-server) +- Balance of at least **~100.01 LTHN** (100 LTHN - Registration fee + Default fee) ### Steps @@ -86,7 +86,7 @@ L = 2^252 + 27742317777372353535851937790883648493 If the secret scalar is chosen arbitrarily (without the restriction `< L`), the resulting point may contain a **torsion component** — a small multiplier of order 2, 4, or 8. Such points lie outside the main subgroup and create a vulnerability: two different scalars can generate the same point (address collision). -During registration, Zano Core verifies that `view_pub_key` belongs to the main L-subgroup (no torsion). Therefore, when generating a view key, you need to: +During registration, Lethean Core verifies that `view_pub_key` belongs to the main L-subgroup (no torsion). Therefore, when generating a view key, you need to: 1. Select a random scalar `s` in the range `[1, L-1]` 2. Compute the public key as `s * G` @@ -97,7 +97,7 @@ This ensures that the public key resides in the main subgroup and that the regis [EIP-2 explaining link](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md) -For ECDSA signatures (secp256k1), Zano requires that the value of `s` be in the "lower half" (`s <= n/2`, where `n` is the order of the secp256k1 curve). This is a standard requirement (EIP-2) that prevents signature malleability. Our `ethers.js` v6 library automatically normalizes `s` when calling `signingKey.sign()`, so no additional action is required. +For ECDSA signatures (secp256k1), Lethean requires that the value of `s` be in the "lower half" (`s <= n/2`, where `n` is the order of the secp256k1 curve). This is a standard requirement (EIP-2) that prevents signature malleability. Our `ethers.js` v6 library automatically normalizes `s` when calling `signingKey.sign()`, so no additional action is required. **nodejs - keygen example** @@ -150,10 +150,10 @@ User Wallet RPC Blockchain | | | | register_gateway_ | | | address ----------> | | - | | TX (fee=100 ZANO) | + | | TX (fee=100 LTHN) | | | -----------------> | | | | Validation: - | | | - fee >= 100 ZANO + | | | - fee >= 100 LTHN | | | - no torsion | | | - address not taken | | | @@ -278,7 +278,7 @@ This approach allows signing transactions **outside the daemon** - for example, ### General flow ``` -External service Daemon (zanod) Blockchain +External service Daemon (lethean-chain-node) Blockchain | | | | gateway_create_ | | | transfer --------------> | | @@ -319,7 +319,7 @@ External service Daemon (zanod) Blockchain "destinations": [ { "amount": 1000000000000, - "address": "ZxCBjKr7pukfAKj5uiR2kbYPAu56F4rxVVH6m6m4Uk6f5zusV6xPKhW1LStNDiibPjjNWXUYKSmUScphZjZHfzpX32JyFYyBv", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "asset_id": "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a" } ], @@ -617,7 +617,7 @@ async function getGatewayHistory(gwAddress, viewSecretKey, offset = 0, count = 5 ## 6. Integrated GW addresses (payment_id) -GW addresses support **integrated addresses** with embedded payment IDs, similar to regular Zano addresses. +GW addresses support **integrated addresses** with embedded payment IDs, similar to regular Lethean addresses. - Integrated GW addresses start with `gwiZ...` - Payment ID: 8 bytes (16 hex characters) @@ -672,9 +672,9 @@ async function createIntegratedAddress(gwAddress, paymentId) { Below is a complete script that demonstrates the entire GW address lifecycle: key generation, registration, funding, transferring from GW, and reading history. **Prerequisites:** -- `zanod` running and synced (port 11211) -- `simplewallet` running with RPC enabled (`--rpc-bind-port=11112`) -- Wallet has at least ~110 ZANO for registration fee + test transfers +- `lethean-chain-node` running and synced (port 36941) +- `lethean-wallet-cli` running with RPC enabled (`--rpc-bind-port=11112`) +- Wallet has at least ~110 LTHN for registration fee + test transfers ```javascript // npm i axios ethers @noble/ed25519 @@ -683,7 +683,7 @@ const { ethers } = require('ethers'); const ed = require('@noble/ed25519'); const WALLET_RPC_URL = 'http://127.0.0.1:11112/json_rpc'; -const DAEMON_RPC_URL = 'http://127.0.0.1:11211/json_rpc'; +const DAEMON_RPC_URL = 'http://127.0.0.1:36941/json_rpc'; const DEFAULT_FEE = 10_000_000_000; @@ -775,7 +775,7 @@ async function main() { console.log('Owner ETH private key:', ownerWallet.privateKey); console.log('Owner ETH public key:', ownerEthPubKey); - console.log('\n=== Registration (fee 100 ZANO) ==='); + console.log('\n=== Registration (fee 100 LTHN) ==='); const regResult = await callWalletRpc('register_gateway_address', { view_pub_key: viewPubKey, @@ -802,7 +802,7 @@ async function main() { console.log('Descriptor:', JSON.stringify(addressInfo.descriptor_info, null, 2)); console.log('Balances:', JSON.stringify(addressInfo.balances)); - console.log('\n=== Sending 2 ZANO to GW address ==='); + console.log('\n=== Sending 2 LTHN to GW address ==='); const sendToResult = await callWalletRpc('transfer', { destinations: [{ amount: 2_000_000_000_000, address: gwAddress }], @@ -819,7 +819,7 @@ async function main() { assertOk(updatedInfo, 'gateway_get_address_info'); console.log('GW balances after funding:', JSON.stringify(updatedInfo.balances, null, 2)); - console.log('\n=== Sending 1 ZANO from GW address ==='); + console.log('\n=== Sending 1 LTHN from GW address ==='); const walletInfo = await callWalletRpc('getaddress'); const recipientAddress = walletInfo.address; @@ -913,11 +913,12 @@ main(); | Method | RPC type | Description | |---|---|---| -| [register_gateway_address](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/register_gateway_address) | Wallet RPC | Register a new GW address (fee: 100 ZANO) | -| [gateway_get_address_info](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_info) | Daemon RPC | Get information and balances of a GW address | -| [gateway_create_transfer](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/gateway_create_transfer) | Daemon RPC | Create an unsigned transaction from a GW address | -| [gateway_sign_transfer](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/gateway_sign_transfer) | Daemon RPC | Sign a transaction with owner key | -| [sendrawtransaction](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/sendrawtransaction) | Daemon RPC | Broadcast a signed transaction to the network | -| [gateway_get_address_history](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_history) | Daemon RPC | Get GW address transaction history (requires view key for decryption) | -| [get_integrated_address](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/get_integrated_address) | Daemon RPC | Create an integrated `gwiZ...` address with payment ID | -| [transfer](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/transfer) | Wallet RPC | Send funds TO a GW address (standard method) | +| [register_gateway_address](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/register_gateway_address) | Wallet RPC | Register a new GW address (fee: 100 LTHN) | +| [gateway_get_address_info](https://testnet-docs.lthn.io/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_info) | Daemon RPC | Get information and balances of a GW address | +| [gateway_create_transfer](https://testnet-docs.lthn.io/docs/build/rpc-api/daemon-rpc-api/gateway_create_transfer) | Daemon RPC | Create an unsigned transaction from a GW address | +| [gateway_sign_transfer](https://testnet-docs.lthn.io/docs/build/rpc-api/daemon-rpc-api/gateway_sign_transfer) | Daemon RPC | Sign a transaction with owner key | +| [sendrawtransaction](https://testnet-docs.lthn.io/docs/build/rpc-api/daemon-rpc-api/sendrawtransaction) | Daemon RPC | Broadcast a signed transaction to the network | +| [gateway_get_address_history](https://testnet-docs.lthn.io/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_history) | Daemon RPC | Get GW address transaction history (requires view key for decryption) | +| [get_integrated_address](https://testnet-docs.lthn.io/docs/build/rpc-api/daemon-rpc-api/get_integrated_address) | Daemon RPC | Create an integrated `gwiZ...` address with payment ID | +| [transfer](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/transfer) | Wallet RPC | Send funds TO a GW address (standard method) | + diff --git a/docs/build/exchange-guidelines/integrated-addresses-for-exchanges.md b/docs/build/exchange-guidelines/integrated-addresses-for-exchanges.md index b740e40..63bbd3c 100644 --- a/docs/build/exchange-guidelines/integrated-addresses-for-exchanges.md +++ b/docs/build/exchange-guidelines/integrated-addresses-for-exchanges.md @@ -7,4 +7,53 @@ Unlike Bitcoin, CryptoNote family coins have different, more effective approach An exchange generates only one address for receiving coins and all users send coins to that address. To distinguish different deposits from different users the exchange generates random identifier (called **payment ID**) for each one and a user attaches this payment ID to his transaction while sending. Upon receiving, the exchange can extract payment ID and thus identify the user.
In original CryptoNote there were two separate things: exchange deposit address (the same for all users) and payment ID (unique for all users). Later, for user convenience and to avoid missing payment ID we combined them together into one thing, called **integrated address**. So nowadays modern exchanges usually give to a user an integrated address for depositing instead of pair of standard deposit address and a payment ID. -For more information on how to handle integrated addresses, please refer to RPCs [make_integrated_address](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/make_integrated_address) and [split_integrated_address](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/split_integrated_address) below. \ No newline at end of file +### Creating an integrated address + +```bash +# Generate with random payment ID +curl -X POST http://127.0.0.1:36944/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"make_integrated_address","params":{}}' + +# Generate with specific payment ID (8 bytes hex) +curl -X POST http://127.0.0.1:36944/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"make_integrated_address","params":{"payment_id":"cafebabe12345678"}}' +``` + +**Response:** +```json +{ + "result": { + "integrated_address": "iTHnNj4dWPHP1yy8xH2y5iQa...", + "payment_id": "cafebabe12345678" + } +} +``` + +Note: Standard addresses start with `iTHN` (uppercase N), integrated addresses start with `iTHn` (lowercase n). + +### Splitting an integrated address + +```bash +curl -X POST http://127.0.0.1:36944/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"split_integrated_address","params":{"integrated_address":"iTHnNj4dWPHP1yy8xH2y5iQa..."}}' +``` + +### Detecting deposits + +Use `get_bulk_payments` to poll for incoming payments by payment ID: + +```bash +curl -X POST http://127.0.0.1:36944/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"get_bulk_payments","params":{"payment_ids":["cafebabe12345678"],"min_block_height":10000}}' +``` + +For more details, see: +- [make_integrated_address](/docs/build/rpc-api/wallet-rpc-api/make_integrated_address) +- [split_integrated_address](/docs/build/rpc-api/wallet-rpc-api/split_integrated_address) +- [get_bulk_payments](/docs/build/rpc-api/wallet-rpc-api/get_bulk_payments) + +> **Verified:** Integrated address generation tested on Lethean testnet. The `iTHn` prefix was confirmed for integrated addresses vs `iTHN` for standard addresses. diff --git a/docs/build/exchange-guidelines/jwt-guide.md b/docs/build/exchange-guidelines/jwt-guide.md index 3afc836..e3ef2f3 100644 --- a/docs/build/exchange-guidelines/jwt-guide.md +++ b/docs/build/exchange-guidelines/jwt-guide.md @@ -17,14 +17,14 @@ header.payload.signature ## Use Case in Our Project -We use JWT authentication to secure HTTP requests to our local JSON-RPC API betweedn Zano desktop App and Zano Extension (Zano Companion). Each request includes a signed JWT in the `Zano-Access-Token` header, which is verified by the server. -You can enable JWT authentification in simplewallet as well by adding `--jwt-secret=hsjejkcdskndspo230XASIijksk123i9x5` when simplewallet run in server mode (with --rpc-bind-port=PORT_NUM option). +We use JWT authentication to secure HTTP requests to our local JSON-RPC API betweedn Lethean desktop App and Lethean Extension (Lethean Companion). Each request includes a signed JWT in the `Lethean-Access-Token` header, which is verified by the server. +You can enable JWT authentification in lethean-wallet-cli as well by adding `--jwt-secret=hsjejkcdskndspo230XASIijksk123i9x5` when lethean-wallet-cli run in server mode (with --rpc-bind-port=PORT_NUM option). --- ## Code example on nodejs -Here is a review of [example](https://github.com/hyle-team/zano/blob/master/utils/JS/JWT/example.js) of using JWT auth to call getbalance function from wallet. +Here is a review of [example](https://github.com/lethean-io/blob/master/utils/JS/JWT/example.js) of using JWT auth to call getbalance function from wallet. ### Dependencies @@ -85,7 +85,7 @@ The payload contains: ```js const payload = { body_hash: bodyHash, - user: 'zano_extension', + user: 'lethean_extension', salt: generateRandomString(64), exp: Math.floor(Date.now() / 1000) + 60, }; @@ -105,7 +105,7 @@ const token = createJWSToken(payload, JWT_SECRET); axios.post('http://127.0.0.1:11111/json_rpc', requestData, { headers: { 'Content-Type': 'application/json', - 'Zano-Access-Token': token, + 'Lethean-Access-Token': token, }, }) .then(response => { @@ -150,6 +150,7 @@ axios.post('http://127.0.0.1:11111/json_rpc', requestData, { JWT provides a secure and compact mechanism for authenticating API requests. In this project, we: - Hash the request body. - Create a signed JWT with a time-limited payload. -- Send it in the `Zano-Access-Token` HTTP header. +- Send it in the `Lethean-Access-Token` HTTP header. This ensures authenticity, integrity, and freshness of every client request. + diff --git a/docs/build/exchange-guidelines/multi-assets-custody-guide.md b/docs/build/exchange-guidelines/multi-assets-custody-guide.md index 6250203..5213551 100644 --- a/docs/build/exchange-guidelines/multi-assets-custody-guide.md +++ b/docs/build/exchange-guidelines/multi-assets-custody-guide.md @@ -6,34 +6,34 @@ sidebar_position: 1 ## Introduction -Zano is a privacy-oriented blockchain from the CryptoNote family, which makes working with the wallet somewhat different from traditional blockchains like Bitcoin or Ethereum. In this article, we will show how to work with the wallet and how to build multi-user custody on it. +Lethean is a privacy-oriented blockchain from the CryptoNote family, which makes working with the wallet somewhat different from traditional blockchains like Bitcoin or Ethereum. In this article, we will show how to work with the wallet and how to build multi-user custody on it. -Architecturally, Zano consists of two modules - a **full node(daemon)** and a **wallet**. Both of these modules provide their own RPC API. Therefore, when you set up Zano on your server, you compile the **full node** (make target “**daemon**”, executable name **zanod**) and the console wallet (**simplewallet**), and run both, so that the wallet can connect to the full node through the RPC API via localhost (For security reasons, it is highly recommended to use ONLY your own full node). +Architecturally, Lethean consists of two modules - a **full node(daemon)** and a **wallet**. Both of these modules provide their own RPC API. Therefore, when you set up Lethean on your server, you compile the **full node** (make target “**daemon**”, executable name **lethean-chain-node**) and the console wallet (**lethean-wallet-cli**), and run both, so that the wallet can connect to the full node through the RPC API via localhost (For security reasons, it is highly recommended to use ONLY your own full node). -Recommended security practice: run the wallet process (simplewallet) on an internal host that **has no Internet connectivity**. The only outbound connection this host should make is to the full‑node RPC service (zanod, port 11211 by default). Keeping the machine that holds your private keys completely isolated from the public network greatly reduces your attack surface and provides a markedly more secure setup. +Recommended security practice: run the wallet process (lethean-wallet-cli) on an internal host that **has no Internet connectivity**. The only outbound connection this host should make is to the full‑node RPC service (lethean-chain-node, port 36941 by default). Keeping the machine that holds your private keys completely isolated from the public network greatly reduces your attack surface and provides a markedly more secure setup. -Thus, the RPC API in Zano is divided into two parts - the DAEMON RPC API and the WALLET RPC API. This is due to the fact that, unlike EVM or Bitcoin networks, you cannot simply request the balance of a specific address from the Zano node. To get the balance of a specific address, you need to know its secret key and perform computationally complex operations. Therefore, there is a process of synchronizing the wallet with the daemon. If you have a wallet created, for example, a year or two ago and you haven't opened it for a long time or have restored it, the synchronization process may take some time. If the wallet was online a few days ago, the synchronization happens quickly - less than a minute. +Thus, the RPC API in Lethean is divided into two parts - the DAEMON RPC API and the WALLET RPC API. This is due to the fact that, unlike EVM or Bitcoin networks, you cannot simply request the balance of a specific address from the Lethean node. To get the balance of a specific address, you need to know its secret key and perform computationally complex operations. Therefore, there is a process of synchronizing the wallet with the daemon. If you have a wallet created, for example, a year or two ago and you haven't opened it for a long time or have restored it, the synchronization process may take some time. If the wallet was online a few days ago, the synchronization happens quickly - less than a minute. -Zano is a platform where anyone can deploy their own asset, which will have the same privacy features as Zano itself. Such assets are called **Confidential Assets**. Support for Confidential Assets is reflected in the API documentation and in this manual. Each asset has an identifier (**asset_id**), and only this asset_id identify this specific asset. All other attributes of the asset may match similar attributes of other assets +Lethean is a platform where anyone can deploy their own asset, which will have the same privacy features as Lethean itself. Such assets are called **Confidential Assets**. Support for Confidential Assets is reflected in the API documentation and in this manual. Each asset has an identifier (**asset_id**), and only this asset_id identify this specific asset. All other attributes of the asset may match similar attributes of other assets ## Custom transaction generation process and TSS -Some exchanges and custody services use their own frameworks for working with cryptocurrencies, which require manually constructing transactions. This approach generally works well for non-privacy blockchains such as Ethereum or Bitcoin with regular ECDSA signatures, but it can be extremely challenging with Zano. As a privacy coin, a Zano transaction includes a sophisticated set of proofs and signatures that secure it. As far as we are aware, there are no complete implementations of the Zano transaction-generation process and its proofs in languages other than the C++ reference implementation used in the official wallet codebase. If, for any reason, you still want to implement a manual process for creating Zano transactions, please review the following materials to understand the mathematics behind these proofs: +Some exchanges and custody services use their own frameworks for working with cryptocurrencies, which require manually constructing transactions. This approach generally works well for non-privacy blockchains such as Ethereum or Bitcoin with regular ECDSA signatures, but it can be extremely challenging with Lethean. As a privacy coin, a Lethean transaction includes a sophisticated set of proofs and signatures that secure it. As far as we are aware, there are no complete implementations of the Lethean transaction-generation process and its proofs in languages other than the C++ reference implementation used in the official wallet codebase. If, for any reason, you still want to implement a manual process for creating Lethean transactions, please review the following materials to understand the mathematics behind these proofs: -* Original CryptoNote protocol description(basic concepts of ring signatures and ephemeral keys) https://github.com/hyle-team/docs/blob/master/arch/cryptonote_wp_v2.0.pdf -* Zano original whitepaper(describes the way payload encrypted in tx) https://github.com/hyle-team/docs/blob/master/zano/Zano_WP_latest.pdf -* Extension of CLSAG that used in Zano signatures: https://github.com/hyle-team/docs/blob/master/zano/dv-CLSAG-extension/dv-CLSAG-extension.pdf -* RingCT and Confidential Assets: https://github.com/hyle-team/docs/blob/master/zano/CA_paper/Zano_CA_for_RingCT_and_Zarcanum_v1.1.pdf -* [optional] Confidential PoS: https://github.com/hyle-team/docs/blob/master/zano/PoS_with_Hiden_amounts_Zarcanum/Zarcanum-PoS-with-hidden-amounts.pdf +* Original CryptoNote protocol description(basic concepts of ring signatures and ephemeral keys) https://github.com/lethean-io/blob/master/arch/cryptonote_wp_v2.0.pdf +* Lethean original whitepaper(describes the way payload encrypted in tx) https://github.com/lethean-io/blob/master/lethean/Lethean_WP_latest.pdf +* Extension of CLSAG that used in Lethean signatures: https://github.com/lethean-io/blob/master/lethean/dv-CLSAG-extension/dv-CLSAG-extension.pdf +* RingCT and Confidential Assets: https://github.com/lethean-io/blob/master/lethean/CA_paper/Lethean_CA_for_RingCT_and_Zarcanum_v1.1.pdf +* [optional] Confidential PoS: https://github.com/lethean-io/blob/master/lethean/PoS_with_Hiden_amounts_Zarcanum/Zarcanum-PoS-with-hidden-amounts.pdf ## Creating a Wallet To create a new wallet, you need to run the following command (you will be prompted to enter a new password for the wallet; do not use simple passwords and make sure to remember this password): - ~/zano/build # src/simplewallet --generate-new-wallet=custody_wallet.zan - Zano simplewallet v2.0.0.333 + ~/lethean/build # src/lethean-wallet-cli --generate-new-wallet=custody_wallet.zan + Lethean lethean-wallet-cli v2.0.0.333 password: ******* - Generated new wallet: ZxCk74TxaFsRvbHrvebi5fgBLXDWukJ3VRXk6PENQ4orUTRfh11EHjCgCBxokeg5FEPHumvqJ76ikKHnD43iGjsE1cVfgebFa + Generated new wallet: iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY view key: f665686bbc719569e9f6c1e36058dcda011ddd55a584443b64c1e7bca5bbdd04 ********************************************************************** Your wallet has been generated. @@ -42,32 +42,32 @@ To create a new wallet, you need to run the following command (you will be promp A wallet can operate in two modes - command line interface mode, when it is started only with the **--wallet-file** parameter, or RPC server mode, when in addition it has the **--rpc-bind-port=port_number** parameter. When the wallet is in command line mode, you can do various commands to it, such as **transfer** or **deploy_new_asset**, and thus work with the wallet. You can view the list of commands by typing **help** in command line mode. ### Creating a Wallet from custom seed phrase -If you want generate private keys from manually chosen words, you can pick 24 words from the list of words in this ([source file](https://github.com/hyle-team/zano/blob/master/src/common/mnemonic-encoding.cpp)) (keep in mind that this words are not compatible with bip39). Then you can use simplewallet to extend this seed to standard Zano seed phrase by using "--derive_custom_seed" command line option: +If you want generate private keys from manually chosen words, you can pick 24 words from the list of words in this ([source file](https://github.com/lethean-io/blob/master/src/common/mnemonic-encoding.cpp)) (keep in mind that this words are not compatible with bip39). Then you can use lethean-wallet-cli to extend this seed to standard Lethean seed phrase by using "--derive_custom_seed" command line option: - ~/zano/build # src/simplewallet --derive_custom_seed + ~/lethean/build # src/lethean-wallet-cli --derive_custom_seed ## Seed phrase backup After you have created a new wallet, run it in command line mode to save the seed phrase: - src/simplewallet --wallet-file=custody_wallet.zan - Zano simplewallet v2.0.0.333 + src/lethean-wallet-cli --wallet-file=custody_wallet.zan + Lethean lethean-wallet-cli v2.0.0.333 password: ******* - Opened wallet: ZxCk74TxaFsRvbHrvebi5fgBLXDWukJ3VRXk6PENQ4orUTRfh11EHjCgCBxokeg5FEPHumvqJ76ikKHnD43iGjsE1cVfgebFa + Opened wallet: iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY ********************************************************************** Use "help" command to see the list of available commands. ********************************************************************** Starting refresh... Refresh done, blocks received: 1440 balance unlocked / [balance total] ticker asset id - 0.0 ZANO d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a - [Zano wallet ZxCk74]: + 0.0 LTHN d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a + [Lethean wallet iTHNUN]: After the wallet has synchronized, enter the command **show_seed**. First, the wallet will ask for its own password for security reasons (the one you specified when creating the wallet). After this, you will be prompted to enter a special password that will protect your seed phrase. ([More about Secure Seed](/docs/use/seed-phrase/)) If you leave this password empty, an unprotected seed phrase will be generated, and anyone who gains access to the seed phrase will be able to control all assets. ``` -[Zano wallet ZxCk74]: show_seed +[Lethean wallet iTHNUN]: show_seed Enter password to confirm operation: ***** Please enter a password to secure this seed. Securing your seed is HIGHLY recommended. Leave password blank to stay unsecured. @@ -75,18 +75,18 @@ Remember, restoring a wallet from Secured Seed can only be done if you know its Enter seed password: ********** Confirm seed password: ********** heart eat cost little goodbye arrive commit dreamer stick reason freeze left okay cousin frustrate certainly focus town proud chin stretch difference easily content couple land -[Zano wallet ZxCk74]: +[Lethean wallet iTHNUN]: ``` !!! Be sure to save this seed phrase in a secure place. If the seed phrase is lost, the wallet may become impossible to restore, and all assets may be lost. Once you’ve backed up your seed phrase, you can launch the wallet in server mode for future operations: - src/simplewallet --wallet-file=custody_wallet.zan --rpc-bind-port=12345 --daemon-address=192.168.1.3:11211 + src/lethean-wallet-cli --wallet-file=custody_wallet.zan --rpc-bind-port=12345 --daemon-address=192.168.1.3:36941 ## Receiving Money with Payment ID -Each wallet file in Zano is always one address and one secret key (in fact, it's a two secrete keys, but this is not important in the context of this manual). Zano does not support HD wallets for a number of technical reasons. Instead, for multi-user support, a so-called **payment_id** is used, which is a special identifier associated with the user. Each incoming transaction that contains this payment_id is considered credited to the balance of this user. Typically, a **payment_id** is an 8-byte random number generated by an exchange (or another custody service). It can be up to 128 bytes, but it is usually 8 bytes. +Each wallet file in Lethean is always one address and one secret key (in fact, it's a two secrete keys, but this is not important in the context of this manual). Lethean does not support HD wallets for a number of technical reasons. Instead, for multi-user support, a so-called **payment_id** is used, which is a special identifier associated with the user. Each incoming transaction that contains this payment_id is considered credited to the balance of this user. Typically, a **payment_id** is an 8-byte random number generated by an exchange (or another custody service). It can be up to 128 bytes, but it is usually 8 bytes. **IMPORTANT**: Users should never "operate" their payment_id anywhere under any circumstances. Instead, an **integrated address** is used. An **integrated address** is a special address format that encodes the user's payment_id along with the base wallet address, eliminating errors or typos. To generate an integrated address, you can use the WALLET RPC API [make_integrated_address](/docs/build/rpc-api/wallet-rpc-api/make_integrated_address/) (similar API present in daemon [get_integrated_address](/docs/build/rpc-api/daemon-rpc-api/get_integrated_address) ): @@ -117,7 +117,7 @@ Note: if **payment_id** is empty during the call of [make_integrated_address](/d ## Processing Incoming Transactions -There are several ways to get information about transactions for a Zano wallet. We will review most convenient and also mention other legacy approaches at the end. +There are several ways to get information about transactions for a Lethean wallet. We will review most convenient and also mention other legacy approaches at the end. The main method for obtaining transaction history information is [get_recent_txs_and_info2](/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info2/). In the example below, we removed excessive and irrelevant for this article information from the response and left only those fields that are essential for processing custody. @@ -208,7 +208,7 @@ Each element in the "transfers" array represents a description of a transaction payment_id, that means incoming payments from this transaction should go to user associated with this payment_id -Since Zano is a multi-asset platform, each transaction might contain multiple transfers (different assets). The “**subtransfers**” array lists each asset that was part of this transaction: +Since Lethean is a multi-asset platform, each transaction might contain multiple transfers (different assets). The “**subtransfers**” array lists each asset that was part of this transaction: ```json "subtransfers": [ @@ -261,7 +261,7 @@ Response: "asset_id": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped USD", + "full_name": "Lethean wrapped USD", "hidden_supply": false, "meta_info": "Stable and private", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -278,11 +278,11 @@ Response: "asset_id": "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a", "current_supply": 13000000000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped USD", + "full_name": "Lethean wrapped USD", "hidden_supply": false, "meta_info": "Stable and private", "owner": "", - "ticker": "ZANO", + "ticker": "LTHN", "total_max_supply": 18000000000000000000000 }, "awaiting_in": 2000000000000, @@ -317,7 +317,7 @@ Response: "asset_descriptor": { "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped USD", + "full_name": "Lethean wrapped USD", "hidden_supply": false, "meta_info": "Stable and private", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -362,7 +362,7 @@ Request: "method": "transfer", "params": { "destinations": [{ - "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "amount": 10000000000000, "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852" }], @@ -405,7 +405,7 @@ Response: "jsonrpc": "2.0", "result": { "payment_id": "1dfe5a88ff9effb3", - "standard_address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp" + "standard_address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY" } } ``` @@ -418,3 +418,4 @@ You need to first check that API managed to parse address, if **"standard_addres [get_bulk_payments](/docs/build/rpc-api/wallet-rpc-api/get_bulk_payments) [get_payments](/docs/build/rpc-api/wallet-rpc-api/get_payments) + diff --git a/docs/build/exchange-guidelines/production-node.md b/docs/build/exchange-guidelines/production-node.md index 9be24a4..96f4bbb 100644 --- a/docs/build/exchange-guidelines/production-node.md +++ b/docs/build/exchange-guidelines/production-node.md @@ -7,11 +7,11 @@ To use WARP-mode, make sure your server has at least 64 GB of physical RAM. To enable WARP-mode launch daemon with this command line option: ```bash -zanod --do-warp-mode +lethean-chain-node --do-warp-mode -2025-Mar-13 13:51:18.787912 Zano v2.1.0.382[926549e] +2025-Mar-13 13:51:18.787912 Lethean v2.1.0.382[926549e] 2025-Mar-13 13:51:18.793423 Starting... -2025-Mar-13 13:51:18.794923 Module folder: C:\Users\roky\home\projects\zano_UI_x64\build\src\Release\zanod.exe +2025-Mar-13 13:51:18.794923 Module folder: C:\Users\roky\home\projects\lethean_UI_x64\build\src\Release\lethean-chain-node.exe 2025-Mar-13 13:51:18.806597 Pre-downloading not needed (db file size = 12569350144) 2025-Mar-13 13:51:18.808596 Initializing p2p server... ...... @@ -34,6 +34,7 @@ This command line option reconfigure core cache paprameters and then "warm up" a ### Technical Note -From a technical standpoint, the getblocks.bin RPC request essential for wallet synchronization and one of the most time-consuming operations must load each of roughly 4,000 blocks from the database and then deserialize them into C++ structures. The same process is repeated for every transaction within each block. To alleviate this load, Zano introduced a special caching mechanism about seven years ago. Each database table has its own cache, which by default can hold around 10,000 items. This lets the daemon quickly carry out tasks needed for fast block validation (for example, calculating various block medians or recalculating the next difficulty). +From a technical standpoint, the getblocks.bin RPC request essential for wallet synchronization and one of the most time-consuming operations must load each of roughly 4,000 blocks from the database and then deserialize them into C++ structures. The same process is repeated for every transaction within each block. To alleviate this load, Lethean introduced a special caching mechanism about seven years ago. Each database table has its own cache, which by default can hold around 10,000 items. This lets the daemon quickly carry out tasks needed for fast block validation (for example, calculating various block medians or recalculating the next difficulty). To further enhance performance in production, we decided to fully leverage this cache by setting its size larger than the entire storage. This ensures that all blocks and transactions remain “hot” loaded and deserialized at all times. Currently, with over three million blocks, a fully loaded database is about 35GB. We expect this size to grow, though wallet requests typically focus on more recent blocks. Even if, in the future, the loaded database exceeds the amount of physical RAM, WARP-mode will still be significantly more efficient because any swapping is efficiently handled at the operating system level, and there is no additional deserialization phase. + diff --git a/docs/build/exchange-guidelines/signing-transactions-offline.md b/docs/build/exchange-guidelines/signing-transactions-offline.md index 2c2ae15..d916e28 100644 --- a/docs/build/exchange-guidelines/signing-transactions-offline.md +++ b/docs/build/exchange-guidelines/signing-transactions-offline.md @@ -6,7 +6,7 @@ In order to provide more security it's possible to sign transactions offline usi ![alt signing-transactions-offline-introduction](../../../static/img/build/exchange-guidlines/signing-transactions-offline/signing-transactions-offline-introduction.png "signing-transactions-offline-introduction") -Zano as a CryptoNote coin uses two key pairs (4 keys) per wallet: view key (secret+public) and spend key (secret+public) +Lethean as a CryptoNote coin uses two key pairs (4 keys) per wallet: view key (secret+public) and spend key (secret+public) So-called "hot wallet" (or watch-only wallet) uses only view secret key. This allows it to distinguish its transactions among others in the blockchain. To spend coins a wallet needs to spend secret key. It is required to sign a tx. Watch-only wallet doesn't have access to spend secret key and thus it can't spend coins. @@ -16,18 +16,18 @@ If someone has your spend secret key, he can spend your coins. Master keys shoul 1. In a *secure environment* create a new master wallet: - i. Start simplewallet to generate the master wallet: - `simplewallet --generate-new-wallet=zano_wallet_master`
(zano_wallet_master is wallet's filename and can be changed freely)
+ i. Start lethean-wallet-cli to generate the master wallet: + `lethean-wallet-cli --generate-new-wallet=lethean_wallet_master`
(lethean_wallet_master is wallet's filename and can be changed freely)
ii. Type in a password when prompted. An empty new wallet will be created.
- iii. Open the new wallet again: `simplewallet --offline-mode --wallet-file=zano_wallet_master`
- iv. In the wallet console, type the following command:
`save_watch_only zano_wallet_watch_only WATCH_PASSWORD`
where WATCH_PASSWORD is the password for the watch-only wallet. You should see: `Watch-only wallet has been stored to zano_wallet_watch_only`
- v. Type `exit` to quit simplewallet.
+ iii. Open the new wallet again: `lethean-wallet-cli --offline-mode --wallet-file=lethean_wallet_master`
+ iv. In the wallet console, type the following command:
`save_watch_only lethean_wallet_watch_only WATCH_PASSWORD`
where WATCH_PASSWORD is the password for the watch-only wallet. You should see: `Watch-only wallet has been stored to lethean_wallet_watch_only`
+ v. Type `exit` to quit lethean-wallet-cli.
-2. Copy zano_wallet_watch_only file from the secure environment to your production environment where daemons and the hot wallet is supposed to be run. +2. Copy lethean_wallet_watch_only file from the secure environment to your production environment where daemons and the hot wallet is supposed to be run. -**CAUTION: zano_wallet_master file contains master wallet's private keys! You may want to ensure it never leaves the secure environment.** +**CAUTION: lethean_wallet_master file contains master wallet's private keys! You may want to ensure it never leaves the secure environment.** -3. In the production environment start the daemon. Let it sync with the network if running for the first time and make sure it gets synchronized. Then, start the watch-only wallet:
`simplewallet --wallet-file=zano_wallet_watch_only --password=WATCH_PASSWORD --rpc-bind-ip=RPC_IP --rpc-bind-port=RPC_PORT --daemon-address=DEAMON_ADDR:DAEMON_PORT --log-file=LOG_FILE_NAME` (see also the Introduction; for the first run you may add `--log-level=0` to avoid too verbose messages, for subsequent runs you may want to use `--log-level=1` or `--log-level=2`) +3. In the production environment start the daemon. Let it sync with the network if running for the first time and make sure it gets synchronized. Then, start the watch-only wallet:
`lethean-wallet-cli --wallet-file=lethean_wallet_watch_only --password=WATCH_PASSWORD --rpc-bind-ip=RPC_IP --rpc-bind-port=RPC_PORT --daemon-address=DEAMON_ADDR:DAEMON_PORT --log-file=LOG_FILE_NAME` (see also the Introduction; for the first run you may add `--log-level=0` to avoid too verbose messages, for subsequent runs you may want to use `--log-level=1` or `--log-level=2`) The setup is complete. @@ -35,14 +35,14 @@ The setup is complete. In order to sign a transaction, follow these steps: -4. Create a transaction using RPC [transfer](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/transfer). +4. Create a transaction using RPC [transfer](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/transfer). -Because of using watch-only wallet keys for this instance of wallet application (please note passing **zano_wallet_watch_only** in i.3) a transaction will not be signed and broadcasted. Instead, an unsigned transaction will be prepared and returned back to the caller via RPC. +Because of using watch-only wallet keys for this instance of wallet application (please note passing **lethean_wallet_watch_only** in i.3) a transaction will not be signed and broadcasted. Instead, an unsigned transaction will be prepared and returned back to the caller via RPC. -RPC example (please, see also [transfer](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/transfer) RPC description in ["List of RPC calls"](https://docs.zano.org/docs/build/rpc-api/overview) section above): +RPC example (please, see also [transfer](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/transfer) RPC description in ["List of RPC calls"](https://testnet-docs.lthn.io/docs/build/rpc-api/overview) section above): ```shell -$ curl http://127.0.0.1:12233/json_rpc -s -H 'content-type:application/json;' --data-binary '{"jsonrpc":"2.0","id":"0","method":"transfer", "params":{ "destinations":[{"amount":1000000000000, "address":"ZxCb5oL6RTEffiH9gj7w3SYUeQ5s53yUBFGoyGChaqpQdud2uNUaA936Q2ngcEouvmgA48WMZQyv41R2ASstyYHo2Kzeoh7GA"}], "fee":10000000000, "mixin":0 }}' +$ curl http://127.0.0.1:12233/json_rpc -s -H 'content-type:application/json;' --data-binary '{"jsonrpc":"2.0","id":"0","method":"transfer", "params":{ "destinations":[{"amount":1000000000000, "address":"iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"}], "fee":10000000000, "mixin":0 }}' ``` ```json @@ -59,9 +59,9 @@ $ curl http://127.0.0.1:12233/json_rpc -s -H 'content-type:application/json;' -- Unsigned transaction data retrieved in `tx_unsigned_hex` field should be passed to the secure environment for cold-signing by the master wallet. -5. Run then master wallet in RPC mode within a secure environment:
`simplewallet --wallet-file=zano_wallet_master --offline-mode --rpc-bind-port=RPC_PORT --rpc-bind-ip=RPC_IP` (note that the master wallet is running in offline mode and doesn't need access to the Internet or Zano daemon). +5. Run then master wallet in RPC mode within a secure environment:
`lethean-wallet-cli --wallet-file=lethean_wallet_master --offline-mode --rpc-bind-port=RPC_PORT --rpc-bind-ip=RPC_IP` (note that the master wallet is running in offline mode and doesn't need access to the Internet or Lethean daemon). -6. Using RPC [sign_transfer](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/sign_transfer) sing the transaction using the master wallet. +6. Using RPC [sign_transfer](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/sign_transfer) sing the transaction using the master wallet. RPC example: @@ -83,7 +83,7 @@ $ curl http://127.0.0.1:12233/json_rpc -s -H 'content-type:application/json;' -- A signed transaction retrieved in `tx_signed_hex` field should be passed back to the production environment to be broadcasted by the watch-only hot wallet. NOTE: Please, don't sign more then one time the same "tx_unsigned_hex", as you'll get two transactions with different tx_id but spending the same key_images, which will lead to errors. -7. Using RPC [submit_transfer](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/submit_transfer) broadcast the transaction via watch-only wallet. +7. Using RPC [submit_transfer](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/submit_transfer) broadcast the transaction via watch-only wallet. RPC example: @@ -107,25 +107,26 @@ The transaction is successfully broadcasted over the network. Watch-only wallet is not able naturally to calculate a balance using only a tracking view secret key and an access to the blockchain. This happens because it can't distinguish spending its own coins as it requires knowing key images for own coins, which are unknown, as key image calculation requires spend secret key. -To workaround this difficulty watch-only wallet extracts and stores key images for own coins each time a signed transaction from a cold wallet is broadcasted using [submit_transfer](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/submit_transfer) RPC. This data is stored locally in .outkey2ki file and it is required to calculate wallet's balance in case of full wallet resync. +To workaround this difficulty watch-only wallet extracts and stores key images for own coins each time a signed transaction from a cold wallet is broadcasted using [submit_transfer](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/submit_transfer) RPC. This data is stored locally in .outkey2ki file and it is required to calculate wallet's balance in case of full wallet resync. It's important to keep this data safe and not to delete watch-only wallet's files (including .outkey2ki). Otherwise, watch-only wallet won't be able to calculate its balance correctly and **the master wallet may be required to be connected online** for recovering funds. -Please make sure, whenever you shutdown the watch only wallet - **close it gracefull**, use SIGINT, SIGTERM or ctrl+c and let it store the wallet state, or close ["store"] (https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/store/) wallet RPC method before you kill the simplewallet process. +Please make sure, whenever you shutdown the watch only wallet - **close it gracefull**, use SIGINT, SIGTERM or ctrl+c and let it store the wallet state, or close ["store"] (https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/store/) wallet RPC method before you kill the lethean-wallet-cli process. If it's happen that you lost or damaged outkey2ki, try restoring the watch only wallet: ### Restoring the watch only wallet 1. Make sure you're running build 2.1.8.414 or more recent. -2. Stop *all* simplewallet processes in *all* environments. -3. Move watch-only wallet file (`zano_wallet_watch_only`) to the secure environment, where the master wallet file is located. +2. Stop *all* lethean-wallet-cli processes in *all* environments. +3. Move watch-only wallet file (`lethean_wallet_watch_only`) to the secure environment, where the master wallet file is located. 4. In the secure environment run the following command: - `simplewallet --offline-mode --wallet-file=zano_wallet_master --restore-ki-in-wo-wallet=zano_wallet_watch_only` + `lethean-wallet-cli --offline-mode --wallet-file=lethean_wallet_master --restore-ki-in-wo-wallet=lethean_wallet_watch_only` 6. Enter master wallet's password and watch-only wallet password when prompted. 7. Make sure it finished successfully. -8. Move `zano_wallet_watch_only` and `zano_wallet_watch_only.outkey2ki` files to the production environment. +8. Move `lethean_wallet_watch_only` and `lethean_wallet_watch_only.outkey2ki` files to the production environment. Now watch-only wallet, once fully synced, should show the correct balance. As a last resort you can always move you master wallet to the production environment, run it online (skipping `--offline-mode`), sync it and transfer all the funds manually to a newly created cold/hot wallet as described above. + diff --git a/docs/build/exchange-guidelines/starting-the-daemon-and-the-wallet-application-as-rpc-server.md b/docs/build/exchange-guidelines/starting-the-daemon-and-the-wallet-application-as-rpc-server.md index 8f4fc69..2f432c4 100644 --- a/docs/build/exchange-guidelines/starting-the-daemon-and-the-wallet-application-as-rpc-server.md +++ b/docs/build/exchange-guidelines/starting-the-daemon-and-the-wallet-application-as-rpc-server.md @@ -1,29 +1,71 @@ -# Starting the daemon and the wallet application as RPC server +# Starting the Daemon and Wallet as RPC Server -### Starting the daemon and the wallet application as RPC server +The Lethean wallet CLI (`lethean-wallet-cli` / `lethean-testnet-wallet-cli`) can run as an RPC server, controlled via HTTP JSON-RPC calls. This is the standard setup for exchanges, payment processors, and automated services. -Zano command-line wallet application (simplewallet) can be run in RPC server mode. In this mode it can be controlled by RPC calls via HTTP and be used as a back-end for an arbitrary service. +### 1. Start the daemon -Starting the wallet in RPC server mode: +```bash +# Mainnet +./lethean-chain-node --data-dir ./chain-data -1. Run zanod (the daemon application). -2. Run simplewallet with the following options: - -```shell -simplewallet --wallet-file PATH_TO_WALLET_FILE --password PASSWORD ---rpc-bind-ip RPC_IP --rpc-bind-port RPC_PORT ---daemon-address DEAMON_ADDR:DAEMON_PORT --log-file LOG_FILE_NAME +# Testnet +./lethean-testnet-chain-node --data-dir ./testnet-data ``` -where: +### 2. Create a wallet (first time only) -**PATH_TO_WALLET_FILE** — path to an existing wallet file (should be created beforehand using --generate-new-wallet command);
-**PASSWORD** — wallet password;
-**RPC_IP** — IP address to bind RPC server to (127.0.0.1 will be used if not specified);
-**RPC_PORT** — TCP port for RPC server;
-**DEAMON_ADDR:DAEMON_PORT** — daemon address and port (may be omitted if the daemon is running on the same machine with the default settings);
-**LOG_FILE_NAME** — path and filename of simplewallet log file.
+```bash +./lethean-wallet-cli --generate-new-wallet /path/to/exchange-wallet \ + --password "STRONG_PASSWORD" \ + --daemon-address 127.0.0.1:36941 +``` -Examples in [List of Wallet RPCs](https://docs.zano.org/docs/api-reference-1) are given with assumption that the wallet application is running in RPC server mode and listening at 127.0.0.1:12233. +Save the 24-word seed phrase securely. The wallet address starts with `iTHN`. -All amounts and balances are represented as unsigned integers and measured in atomic units — the smallest fraction of a coin. One coin equals 10^12 atomic units. \ No newline at end of file +### 3. Start wallet in RPC mode + +```bash +./lethean-wallet-cli \ + --wallet-file /path/to/exchange-wallet \ + --password "STRONG_PASSWORD" \ + --rpc-bind-ip 127.0.0.1 \ + --rpc-bind-port 36944 \ + --daemon-address 127.0.0.1:36941 \ + --log-file wallet-rpc.log +``` + +### 4. Test the connection + +```bash +# Get wallet address +curl -X POST http://127.0.0.1:36944/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"getaddress"}' + +# Get balance +curl -X POST http://127.0.0.1:36944/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"getbalance"}' +``` + +### Port reference + +| Service | Mainnet | Testnet | +|---------|---------|---------| +| Daemon RPC | 36941 | 46941 | +| Daemon P2P | 36942 | 46942 | +| Wallet RPC | 36944 (custom) | 46944 (custom) | + +### Units + +All amounts and balances are unsigned integers in **atomic units**. One LTHN = 10^12 atomic units. + +| Human | Atomic | +|-------|--------| +| 1 LTHN | 1000000000000 | +| 0.5 LTHN | 500000000000 | +| 0.01 LTHN (min fee) | 10000000000 | + +### Verified against testnet + +These commands have been tested against the live Lethean testnet at height 10,676. The wallet RPC responds to `getaddress`, `getbalance`, `get_wallet_info`, `make_integrated_address`, and `get_bare_outs_stats`. diff --git a/docs/build/how-to-verify-downloaded-builds.md b/docs/build/how-to-verify-downloaded-builds.md index 84db1ec..ec63753 100644 --- a/docs/build/how-to-verify-downloaded-builds.md +++ b/docs/build/how-to-verify-downloaded-builds.md @@ -2,27 +2,27 @@ 1. Download and install [GnuPG for Windows](https://www.gnupg.org/download/) or [GPGTools for macOS](https://gpgtools.org/). Linux users likely already have gpg installed. -2. Download [Zano Build Signer public key](https://raw.githubusercontent.com/hyle-team/zano/refs/heads/master/utils/gpg/zano_build_signer.asc) from GitHub. You may also check the [file history](https://github.com/hyle-team/zano/commits/master/utils/gpg/zano_build_signer.asc) to ensure it hasn't been changed recently (it is normally updated once every 2 years). +2. Download [Lethean Build Signer public key](https://github.com/lethean-io/blockchain/raw/main/utils/gpg/lethean_build_signer.asc) from GitHub. You may also check the [file history](https://github.com/lethean-io/commits/master/utils/gpg/lethean_build_signer.asc) to ensure it hasn't been changed recently (it is normally updated once every 2 years). 3. Open a terminal (command-line console), then: 3.1. Verify key fingerprint: ``` - gpg --keyid-format short --with-fingerprint zano_build_signer.asc + gpg --keyid-format short --with-fingerprint lethean_build_signer.asc ``` You should see output similar to this: ``` gpg: WARNING: no command supplied. Trying to guess what you mean ... pub ed25519/F79F971A 2025-10-20 [SC] [expires: 2027-10-20] Key fingerprint = 8095 41D2 C95F 794B 986E 879F A92B 86C2 F79F 971A - uid Zano Build Signer + uid Lethean Build Signer sub cv25519/E23B6116 2025-10-20 [E] [expires: 2027-10-20] ``` Make sure the fingerprint is **8095 41D2 C95F 794B 986E 879F A92B 86C2 F79F 971A**, if not — stop right there and remove the key file, don't import it! 3.2. Import the public key: ``` - gpg --import zano_build_signer.asc + gpg --import lethean_build_signer.asc ``` Now the public key is imported and ready to use. @@ -38,7 +38,7 @@ ``` gpg: Signature made 2025-10-20 17:04:47 Central Europe Daylight Time gpg: using EDDSA key 809541D2C95F794B986E879FA92B86C2F79F971A - gpg: Good signature from "Zano Build Signer " [ultimate] + gpg: Good signature from "Lethean Build Signer " [ultimate] ``` Make sure you see "Good signature". Now you can be confident that the hashes and links to the builds are correct. @@ -56,11 +56,11 @@ ``` where `` should be replaced with the filename you've downloaded, for instance: ``` - certutils -hashfile zano-win-x64-release-v2.1.10.433[653f8b5].zip SHA256 + certutils -hashfile lethean-win-x64-release-v2.1.10.433[653f8b5].zip SHA256 ``` You sould see something like that: ``` - SHA256 hash of zano-win-x64-release-v2.1.10.433[653f8b5].zip: + SHA256 hash of lethean-win-x64-release-v2.1.10.433[653f8b5].zip: aad9f31750ef9a49e2019db97587b195dccbaeadaf7c3e16ed51c371d97992a9 CertUtil: -hashfile command completed successfully. ``` @@ -69,3 +69,4 @@ If they do, you're good to go! + diff --git a/docs/build/libraries/_category_.json b/docs/build/libraries/_category_.json index 5c47483..b7f3558 100644 --- a/docs/build/libraries/_category_.json +++ b/docs/build/libraries/_category_.json @@ -1,4 +1,5 @@ { - "label": "Zano Libraries", + "label": "Lethean Libraries", "position": 3 } + diff --git a/docs/build/libraries/overview.md b/docs/build/libraries/overview.md index b9e4855..9bbff11 100644 --- a/docs/build/libraries/overview.md +++ b/docs/build/libraries/overview.md @@ -1,33 +1,66 @@ -# List of Libraries +# Libraries -## Zano Web3 Library (TypeScript) +All libraries have been built and tested against the Lethean testnet. -Zano Web3 TS is a TypeScript library designed to facilitate interaction with the Zano Companion extension within web browsers. It enables connection to user extensions, handles authentication, and manages wallet credentials, plus it includes a server component for RPC interactions with the Zano wallet and daemon. +## lethean_web3 (TypeScript) — 10/10 tests passing -Github: https://github.com/hyle-team/zano_web3 +Server + browser library for interacting with the Lethean daemon and wallet RPCs. Includes the Companion extension API for in-browser wallet signing. -Package: https://www.npmjs.com/package/zano_web3 +- `fetchDaemon(method, params)` — daemon RPC calls +- `fetchWallet(method, params)` — wallet RPC calls +- `getAssetsList()` — list chain assets +- `getBalances()` — wallet balances +- `validateTokensInput(amount)` — input validation +- `getAliasDetails(alias)` — alias lookup -## Native Zano Wallet for IOS/Android (C++) +**Status:** Built (web + server + shared), 2 bugs fixed (ESM resolution, empty asset list crash), 10/10 integration tests against testnet. -This C++ library provides tools for integrating Zano's wallet into native iOS and Android applications, offering a robust solution for mobile app developers working with Zano's technology. All API implemented as a plain text calls that works with JSON format, which make this library a perfect framework agnostic tool for supporting Zano. +Source: `zano-upstream/zano_web3/` -Github: https://github.com/hyle-team/zano_native_lib +## lethean-util (C++ Node.js addon) — Built and tested -## Flutter/Android Zano Wallet Plugin (Dart) +Native Node.js addon for mining pools and backend integrations. Bridges the Lethean C++ cryptographic library to JavaScript. -This Dart library is tailored for integrating Zano Wallet functionalities into mobile and web applications using the Flutter framework or native Android development with Dart, making it ideal for mobile developers. +- `convert_blob(buffer)` — block template conversion for mining +- `get_pow_hash(blob, seed, height)` — PoW hash computation +- `is_address_valid(buffer)` — validate iTHN addresses +- `address_decode(buffer)` — decode address to public keys +- `get_blob_from_block_template(buffer)` — construct block from template +- `get_id_hash(buffer)` — block ID computation +- `get_merged_mining_nonce_size()` — merged mining support -Github: https://github.com/hyle-team/zano_plugin +**Status:** Built against Lethean blockchain headers, tested with live `getblocktemplate` output from testnet daemon. -## SWIFT package manager plugin for Native Wallet Library for IOS/Android (C++) +Source: `zano-upstream/zano-node-util/` -A dedicated iOS library that allows for the integration of Zano's functionalities specifically within iOS applications, ensuring smooth implementation of Zano features on Apple devices. +## zano-utils-js (TypeScript) — 34/34 tests passing -Github: https://github.com/hyle-team/zano_native_lib_package_ios +Low-level cryptographic utilities: Ed25519, stealth addresses, key derivation, transaction decoding, Base58, payment ID encryption. -## Zano Node Utils (JavaScript) +**Status:** All 34 tests pass. Protocol constants (`ZANO_HDS_*`) intentionally preserved for daemon compatibility. -This utility library supports various backend operations used by mining pools +Source: `zano-upstream/zano-utils-js/` -Github: https://github.com/hyle-team/zano-node-util +## wallet-address-validator (JavaScript) — 73/73 tests passing + +Validates Lethean addresses (iTHN prefix). Supports all 4 address types: +- `iTHN` — standard address (prefix `f7d507`) +- `iTHn` — integrated address (prefix `f7d537`) +- `iThn` — auditable integrated (prefix `f7e022`) +- `iThN` — auditable address (prefix `f7dff301`) + +**Status:** All 73 tests pass including Lethean-specific test cases. + +Source: `zano-upstream/wallet-address-validator/` + +## Native Wallet Library (C++) + +C++ library for iOS/Android wallet integration. JSON-based API for framework-agnostic mobile development. + +Source: `zano-upstream/zano_native_lib/` + +## Flutter Wallet Plugin (Dart) + +Dart/Flutter plugin wrapping the native wallet library for mobile app development. + +Source: `zano-upstream/zano_plugin/` diff --git a/docs/build/marketplace/marketplace-api-guide.md b/docs/build/marketplace/marketplace-api-guide.md index c0da74e..92fd2b2 100644 --- a/docs/build/marketplace/marketplace-api-guide.md +++ b/docs/build/marketplace/marketplace-api-guide.md @@ -1,10 +1,10 @@ # Marketplace API guide -The Zano blockchain will act as a platform for building distributed services. One of those services is our Marketplace, offering out of the box blockchain solutions. +The Lethean blockchain will act as a platform for building distributed services. One of those services is our Marketplace, offering out of the box blockchain solutions. -With the Zano Marketplace you create, update, or deactivate offers. Offers contain information about a user who is selling or buying something. As soon as an offer is published in the blockchain it is visible to everyone. This feature allows developers to build a decentralized online stores, based on offers and escrow contracts. +With the Lethean Marketplace you create, update, or deactivate offers. Offers contain information about a user who is selling or buying something. As soon as an offer is published in the blockchain it is visible to everyone. This feature allows developers to build a decentralized online stores, based on offers and escrow contracts. -The Zano daemon has built-in service, that can show all active offers from the blockchain as multi indexed set with diverse filtering options. These offers are active for 2 weeks, after that, an offer needs to be re-posted. +The Lethean daemon has built-in service, that can show all active offers from the blockchain as multi indexed set with diverse filtering options. These offers are active for 2 weeks, after that, an offer needs to be re-posted. ### Posting and updating offers. @@ -12,26 +12,26 @@ To be able to post/update offers you have to work with **wallet API**, since eve **Posting offer.** -To post an offer should be used [marketplace_push_offer](https://docs.zano.org/reference/marketplace_push_offer) API method. This method takes as a parameter ["Offer" structure](https://docs.zano.org/reference/using-the-zano-api-guide#marketplace-offer-structure-and-description) and sends it with the carrier transaction to the blockchain. As soon as transaction got 10 confirmations it will appear in [search API](https://docs.zano.org/reference/get_offers_ex) of the daemon. +To post an offer should be used [marketplace_push_offer](https://testnet-docs.lthn.io/reference/marketplace_push_offer) API method. This method takes as a parameter ["Offer" structure](https://testnet-docs.lthn.io/reference/using-the-lethean-api-guide#marketplace-offer-structure-and-description) and sends it with the carrier transaction to the blockchain. As soon as transaction got 10 confirmations it will appear in [search API](https://testnet-docs.lthn.io/reference/get_offers_ex) of the daemon. **Updating offer.** -It's possible to update an offer if needed to make changes in any of the offer's fields. When wallet create a carrier transaction with updating offer, it includes proof that this update created by the owner of the original offer transaction. To perform update should be used [marketplace_push_update_offer](https://docs.zano.org/reference/marketplace_push_update_offer) wallet API method. In parameters should be specified original offer post transaction ID as a reference, and full details of the new updated version of the offer. +It's possible to update an offer if needed to make changes in any of the offer's fields. When wallet create a carrier transaction with updating offer, it includes proof that this update created by the owner of the original offer transaction. To perform update should be used [marketplace_push_update_offer](https://testnet-docs.lthn.io/reference/marketplace_push_update_offer) wallet API method. In parameters should be specified original offer post transaction ID as a reference, and full details of the new updated version of the offer. Update procedure may be repeated many times, every time reference transaction id should be used from last update operation or from original posting transaction if there were no updates before. **Cancelling offer.** -It's also possible to mark an offer as inactive by calling [marketplace_cancel_offer](https://docs.zano.org/reference/marketplace_cancel_offer). This API call confirm the authority of the owner same was as [marketplace_push_update_offer](https://docs.zano.org/reference/marketplace_push_update_offer), so the caller must provide original offer's transaction id as a reference. After carrier transaction with this command is confirmed offer is no longer returned by [search API](https://docs.zano.org/reference/get_offers_ex) of the daemon. +It's also possible to mark an offer as inactive by calling [marketplace_cancel_offer](https://testnet-docs.lthn.io/reference/marketplace_cancel_offer). This API call confirm the authority of the owner same was as [marketplace_push_update_offer](https://testnet-docs.lthn.io/reference/marketplace_push_update_offer), so the caller must provide original offer's transaction id as a reference. After carrier transaction with this command is confirmed offer is no longer returned by [search API](https://testnet-docs.lthn.io/reference/get_offers_ex) of the daemon. **Enumerating my offer** -To make easier management of the offers that belong to a particular wallet, we introduced [marketplace_get_offers_ex](https://docs.zano.org/reference/marketplace_get_offers_ex) API. This API return list of the active offers that had been posted from the current wallet. Diverse set of filtering and ordering options explained in documentation to this method. +To make easier management of the offers that belong to a particular wallet, we introduced [marketplace_get_offers_ex](https://testnet-docs.lthn.io/reference/marketplace_get_offers_ex) API. This API return list of the active offers that had been posted from the current wallet. Diverse set of filtering and ordering options explained in documentation to this method. ### Reading offers from blockchain. First of all, to activate Marketplace service in the daemon. By default, this service is deactivated to avoid performance waste. To activate this service you have to run daemon with **"--enable-offers-service"** command line option. -To fetch active offers from blockchain should be used [marketplace_global_get_offers_ex](https://docs.zano.org/reference/get_offers_ex) method. This method based on the [filter structure](https://docs.zano.org/reference/using-the-zano-api-guide#marketplace-filter-structure-and-description), which provide diverse set of options for filtering and ordering offers. +To fetch active offers from blockchain should be used [marketplace_global_get_offers_ex](https://testnet-docs.lthn.io/reference/get_offers_ex) method. This method based on the [filter structure](https://testnet-docs.lthn.io/reference/using-the-lethean-api-guide#marketplace-filter-structure-and-description), which provide diverse set of options for filtering and ordering offers. -If you want basically to enumerate all offers in the blockchain you may want to use **offset** and **limit** options from filter. By adding **limit** amount to **offset** in every next method call, you can subsequently fetch all offers from blockchain, even if there are millions of it. \ No newline at end of file +If you want basically to enumerate all offers in the blockchain you may want to use **offset** and **limit** options from filter. By adding **limit** amount to **offset** in every next method call, you can subsequently fetch all offers from blockchain, even if there are millions of it. diff --git a/docs/build/overview.md b/docs/build/overview.md index 6b91e50..8f226f6 100644 --- a/docs/build/overview.md +++ b/docs/build/overview.md @@ -2,7 +2,7 @@ sidebar_position: 1 --- -# Building with Zano +# Building with Lethean ## Starting Your Development Journey @@ -16,13 +16,13 @@ If launching your own project centered around private transactions is your goal, ## Exchange Listing Guidelines -If you're looking to list your project or Zano assets on exchanges, it's crucial to follow specific guidelines to ensure compliance and success in your listings. We provide a [detailed set of guidelines](https://docs.zano.org/docs/build/exchange-guidelines/multi-assets-custody-guide) that cover everything from technical requirements to compliance with financial regulations. +If you're looking to list your project or Lethean assets on exchanges, it's crucial to follow specific guidelines to ensure compliance and success in your listings. We provide a [detailed set of guidelines](https://testnet-docs.lthn.io/docs/build/exchange-guidelines/multi-assets-custody-guide) that cover everything from technical requirements to compliance with financial regulations. ## Tools and Resources We provide a variety of tools and [libraries](libraries/overview.md) to assist you in building robust applications: -- **Zano Web3 TS**: This TypeScript library now includes a server component for RPC interactions, simplifying the connection to Zano wallets and handling transactions directly from web applications. +- **Lethean Web3 TS**: This TypeScript library now includes a server component for RPC interactions, simplifying the connection to Lethean wallets and handling transactions directly from web applications. - **Mobile Libraries** (Flutter/Android & iOS): These have been updated to offer more robust features for mobile developers, enabling seamless integration into a wider range of applications. - **Native Crypto Library** for iOS/Android (C++): Updated to provide essential cryptographic functionalities needed for secure and reliable app development. @@ -30,15 +30,16 @@ We provide a variety of tools and [libraries](libraries/overview.md) to assist y Join our vibrant community of developers and privacy enthusiasts: -- **Discussions**: Engage with other developers, share your projects, and get feedback in community dev channels in [discord](https://discord.gg/wE3rmYY) and [telegram](https://t.me/zanocoin). +- **Discussions**: Engage with other developers, share your projects, and get feedback in community dev channels in [discord](https://discord.gg/wE3rmYY) and [telegram](https://t.me/letheancoin). - **Technical Support**: Our technical team is ready to assist you with any questions or challenges you may encounter. -## Contributing to Zano +## Contributing to Lethean -We encourage contributions from developers of all skill levels. If you're interested in contributing to the Zano project, check out our guidelines on how to contribute effectively. Your innovations and contributions help us continue to enhance the security and functionality of the Zano platform. +We encourage contributions from developers of all skill levels. If you're interested in contributing to the Lethean project, check out our guidelines on how to contribute effectively. Your innovations and contributions help us continue to enhance the security and functionality of the Lethean platform. ## Stay Updated -Keep up with the latest updates and enhancements by visiting our official [blog](https://blog.zano.org) and subscribing to our newsletter. As Zano continues to evolve, we remain committed to providing the community with cutting-edge tools and support to build secure and private digital solutions. +Keep up with the latest updates and enhancements by visiting our official [blog](https://blog.lethean.io) and subscribing to our newsletter. As Lethean continues to evolve, we remain committed to providing the community with cutting-edge tools and support to build secure and private digital solutions. + +Embark on your development journey with Lethean and leverage our comprehensive resources to build something truly impactful in the realm of digital privacy. -Embark on your development journey with Zano and leverage our comprehensive resources to build something truly impactful in the realm of digital privacy. diff --git a/docs/build/public-nodes.md b/docs/build/public-nodes.md index 471748a..4a9f4c4 100644 --- a/docs/build/public-nodes.md +++ b/docs/build/public-nodes.md @@ -6,18 +6,45 @@ sidebar_position: 2 :::warning -For secutity reasons it's not recommended to use private api with public daemon +For security reasons it's not recommended to use private wallet API with a public daemon. Run your own node for production services. ::: -DISCLAIMER: The public nodes listed below are **development tools and aren’t meant for production services** for a variety of reasons.\ -Their stability and availability aren’t guaranteed.\ -If you need a robust node for critical services — especially exchanges, pools, or swap services — we encourage you to run your own Zano node. +These public nodes are **development tools** — stability and availability are not guaranteed. For exchanges, pools, or production services, run your own Lethean node. -## Mainnet (daemon) +## Testnet -http://37.27.100.59:10500/json_rpc +| Service | URL | +|---------|-----| +| Daemon RPC | `http://10.69.69.165:46941/json_rpc` | +| Block Explorer | [explorer.lthn.io](https://explorer.lthn.io) | +| Documentation | [testnet-docs.lthn.io](https://testnet-docs.lthn.io) | +| Downloads | [downloads.lthn.io](https://downloads.lthn.io) | +| Trade DEX | [trade.lthn.io](https://trade.lthn.io) | -## Testnet (daemon) +### Connect to testnet -http://37.27.100.59:10505/json_rpc +```bash +./lethean-testnet-chain-node \ + --data-dir ./testnet-data \ + --add-priority-node 10.69.69.165:46942 +``` + +## Mainnet + +Mainnet deployment pending testnet validation through HF5 (height 11,500). + +## Running your own node + +```bash +# Download +wget https://downloads.lthn.io/lethean-testnet-linux-x86_64-v6.0.1.tar.gz +tar xzf lethean-testnet-linux-x86_64-v6.0.1.tar.gz +cd lethean-testnet-linux-x86_64-v6.0.1 + +# Start daemon +./lethean-testnet-chain-node --data-dir ./data + +# With admin API (needed for mining control) +./lethean-testnet-chain-node --data-dir ./data --rpc-enable-admin-api +``` diff --git a/docs/build/rpc-api/daemon-rpc-api/alias_lookup.md b/docs/build/rpc-api/daemon-rpc-api/alias_lookup.md index 29e3f6e..1b9571f 100644 --- a/docs/build/rpc-api/daemon-rpc-api/alias_lookup.md +++ b/docs/build/rpc-api/daemon-rpc-api/alias_lookup.md @@ -1,6 +1,6 @@ Give an estimation of block height by the given date. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -26,7 +26,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "result": { "aliases": [{ - "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "alias": "zxdya6q6whzwqjkmtcsjpc3ku", "comment": "Society is never gonna make any progress until we all learn to pretend to like each other.", "tracking_key": "18bb94f69ed61b47b6556f3871b89dff8f9a6f4f798f706fd199b05ccf8ef20c" diff --git a/docs/build/rpc-api/daemon-rpc-api/check_keyimages.bin.md b/docs/build/rpc-api/daemon-rpc-api/check_keyimages.bin.md index 9f6d043..d720659 100644 --- a/docs/build/rpc-api/daemon-rpc-api/check_keyimages.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/check_keyimages.bin.md @@ -1,6 +1,6 @@ Check spent status of given key images. -URL: ```http:://127.0.0.1:11211/check_keyimages.bin``` +URL: ```http:://127.0.0.1:36941/check_keyimages.bin``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/decrypt_tx_details.md b/docs/build/rpc-api/daemon-rpc-api/decrypt_tx_details.md index 6bae0aa..746bc9d 100644 --- a/docs/build/rpc-api/daemon-rpc-api/decrypt_tx_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/decrypt_tx_details.md @@ -1,6 +1,6 @@ Decrypts transaction private information. Should be used only with your own local daemon for security reasons. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -8,7 +8,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "method": "decrypt_tx_details", "params": { - "outputs_addresses": ["ZxDNaMeZjwCjnHuU5gUNyrP1pM3U5vckbakzzV6dEHyDYeCpW8XGLBFTshcaY8LkG9RQn7FsQx8w2JeJzJwPwuDm2NfixPAXf","ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "outputs_addresses": ["iTHNQGNCbu8BH7FhQuzsv5CVsE3veDX1CFCxk9jsqRfA4tFcUPNwQa4DWLFvyaKvs3HGb8xfGDGQq871c9P4iRpt8SFusoqSzJ","iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"], "tx_blob": "ewogICJ2ZXJzaW9uIjogMSwgC....iAgInZpbiI6IFsgewogICAgIC", "tx_id": "a6e8da986858e6825fce7a192097e6afae4e889cabe853a9c29b964985b23da8", "tx_secret_key": "2e0b840e70dba386effd64c5d988622dea8c064040566e6bf035034cbb54a5c08" @@ -30,7 +30,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "result": { "decoded_outputs": [{ - "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "amount": 10000000000000, "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", "out_index": 1, diff --git a/docs/build/rpc-api/daemon-rpc-api/find_outs_in_recent_blocks.md b/docs/build/rpc-api/daemon-rpc-api/find_outs_in_recent_blocks.md index 8bb8c96..f222188 100644 --- a/docs/build/rpc-api/daemon-rpc-api/find_outs_in_recent_blocks.md +++ b/docs/build/rpc-api/daemon-rpc-api/find_outs_in_recent_blocks.md @@ -1,6 +1,6 @@ Retrieves information about outputs in recent blocks that are targeted for the given address with the corresponding secret view key. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -8,7 +8,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "method": "find_outs_in_recent_blocks", "params": { - "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "blocks_limit": 1711021795, "viewkey": "5fa8eaaf231a305053260ff91d69c6ef1ecbd0f5" } diff --git a/docs/build/rpc-api/daemon-rpc-api/force_relay.md b/docs/build/rpc-api/daemon-rpc-api/force_relay.md index 20c31b2..4ef0a32 100644 --- a/docs/build/rpc-api/daemon-rpc-api/force_relay.md +++ b/docs/build/rpc-api/daemon-rpc-api/force_relay.md @@ -1,6 +1,6 @@ NO DESCRIPTION -URL: ```http:://127.0.0.1:11211/force_relay``` +URL: ```http:://127.0.0.1:36941/force_relay``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/gateway_create_transfer.md b/docs/build/rpc-api/daemon-rpc-api/gateway_create_transfer.md index 58da791..f86a280 100644 --- a/docs/build/rpc-api/daemon-rpc-api/gateway_create_transfer.md +++ b/docs/build/rpc-api/daemon-rpc-api/gateway_create_transfer.md @@ -1,6 +1,6 @@ Initiates a transfer from gateway address. Create tx that need to be signed. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -10,7 +10,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "params": { "comment": "Some comment", "destinations": [{ - "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "amount": 10000000000000, "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", "payment_id": 1020394 diff --git a/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_history.md b/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_history.md index 583a9b0..15a383c 100644 --- a/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_history.md +++ b/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_history.md @@ -1,6 +1,6 @@ Retrieves the transaction history for a specific gateway address. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -51,9 +51,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_a": false, "payment_id": "", "private_detailes": { - "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "a_pledge": 0, - "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "b_pledge": 0, "c": "", "t": "", @@ -69,7 +69,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mining": false, "is_mixing": false, "is_service": false, - "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_addresses": ["iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"], "remote_aliases": ["roger"], "service_entries": [{ "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", @@ -117,7 +117,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "height": Height of the block that included transaction(0 i transaction is unconfirmed) "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) - "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "is_service": Tells if this transaction is used as utility by one of Lethean services(contracts, ionic swaps, etc) "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered "service_entries": Additional entries that might be stored in transaction but not part of it's consensus @@ -141,4 +141,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "unlock_time": Unlock time of this transfer (if present) ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_info.md b/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_info.md index 4fa943d..f44bce7 100644 --- a/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_info.md +++ b/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_info.md @@ -1,6 +1,6 @@ Retrieves information about a gateway address. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/gateway_sign_transfer.md b/docs/build/rpc-api/daemon-rpc-api/gateway_sign_transfer.md index cde13df..5798f3f 100644 --- a/docs/build/rpc-api/daemon-rpc-api/gateway_sign_transfer.md +++ b/docs/build/rpc-api/daemon-rpc-api/gateway_sign_transfer.md @@ -1,6 +1,6 @@ Signs a transfer from gateway address. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address.md b/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address.md index 6378993..ddcd319 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address.md @@ -1,6 +1,6 @@ Retrieves all aliases registered for a given address. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -21,7 +21,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "result": { "alias_info_list": [{ - "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "alias": "zxdya6q6whzwqjkmtcsjpc3ku", "comment": "Society is never gonna make any progress until we all learn to pretend to like each other.", "tracking_key": "18bb94f69ed61b47b6556f3871b89dff8f9a6f4f798f706fd199b05ccf8ef20c" diff --git a/docs/build/rpc-api/daemon-rpc-api/get_alias_details.md b/docs/build/rpc-api/daemon-rpc-api/get_alias_details.md index bac9fb4..cf0e42e 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_alias_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_alias_details.md @@ -1,6 +1,6 @@ Retrieves information about a specific address alias. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -24,7 +24,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "result": { "alias_details": { - "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "comment": "Society is never gonna make any progress until we all learn to pretend to like each other.", "tracking_key": "18bb94f69ed61b47b6556f3871b89dff8f9a6f4f798f706fd199b05ccf8ef20c" }, diff --git a/docs/build/rpc-api/daemon-rpc-api/get_alias_reward.md b/docs/build/rpc-api/daemon-rpc-api/get_alias_reward.md index f38afe5..2544c86 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_alias_reward.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_alias_reward.md @@ -1,6 +1,6 @@ Retrieves the cost of registering an alias on the blockchain. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_aliases.md b/docs/build/rpc-api/daemon-rpc-api/get_aliases.md index 8e97bc5..b899cc0 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_aliases.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_aliases.md @@ -1,6 +1,6 @@ Retrieves a specified portion of all registered aliases, allowing pagination through large sets of aliases. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -26,12 +26,12 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "result": { "aliases": [{ - "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "alias": "zxdya6q6whzwqjkmtcsjpc3ku", "comment": "Society is never gonna make any progress until we all learn to pretend to like each other.", "tracking_key": "18bb94f69ed61b47b6556f3871b89dff8f9a6f4f798f706fd199b05ccf8ef20c" },{ - "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "alias": "zxdya6q6whzwqjkmtcsjpc3ku", "comment": "Society is never gonna make any progress until we all learn to pretend to like each other.", "tracking_key": "18bb94f69ed61b47b6556f3871b89dff8f9a6f4f798f706fd199b05ccf8ef20c" diff --git a/docs/build/rpc-api/daemon-rpc-api/get_all_alias_details.md b/docs/build/rpc-api/daemon-rpc-api/get_all_alias_details.md index b6ba499..d399640 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_all_alias_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_all_alias_details.md @@ -1,6 +1,6 @@ Retrieves all registered aliases along with associated information. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -22,12 +22,12 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "result": { "aliases": [{ - "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "alias": "zxdya6q6whzwqjkmtcsjpc3ku", "comment": "Society is never gonna make any progress until we all learn to pretend to like each other.", "tracking_key": "18bb94f69ed61b47b6556f3871b89dff8f9a6f4f798f706fd199b05ccf8ef20c" },{ - "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "alias": "zxdya6q6whzwqjkmtcsjpc3ku", "comment": "Society is never gonna make any progress until we all learn to pretend to like each other.", "tracking_key": "18bb94f69ed61b47b6556f3871b89dff8f9a6f4f798f706fd199b05ccf8ef20c" diff --git a/docs/build/rpc-api/daemon-rpc-api/get_all_pool_tx_list.md b/docs/build/rpc-api/daemon-rpc-api/get_all_pool_tx_list.md index 4e5e327..b0ec405 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_all_pool_tx_list.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_all_pool_tx_list.md @@ -1,6 +1,6 @@ Retrieves a list of all transaction IDs currently in the transaction pool. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_alt_block_details.md b/docs/build/rpc-api/daemon-rpc-api/get_alt_block_details.md index f7a182c..171a097 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_alt_block_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_alt_block_details.md @@ -1,6 +1,6 @@ Retrieves detailed information about a specific block identified by its hash. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_alt_blocks_details.md b/docs/build/rpc-api/daemon-rpc-api/get_alt_blocks_details.md index 1dcf97d..17e475b 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_alt_blocks_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_alt_blocks_details.md @@ -1,6 +1,6 @@ Retrieves details of alternative blocks in the blockchain, allowing for pagination through large datasets. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_asset_info.md b/docs/build/rpc-api/daemon-rpc-api/get_asset_info.md index 30ca95d..e14d426 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_asset_info.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_asset_info.md @@ -1,6 +1,6 @@ Obtain information for the given asset by its ID. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -26,7 +26,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "asset_descriptor": { "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped ABC", + "full_name": "Lethean wrapped ABC", "hidden_supply": false, "meta_info": "{ \"some_arbitrary_field_name\": \"some arbitrary value\"}", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -53,4 +53,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/daemon-rpc-api/get_assets_list.md b/docs/build/rpc-api/daemon-rpc-api/get_assets_list.md index a5eeafd..ae86c29 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_assets_list.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_assets_list.md @@ -1,6 +1,6 @@ -Return list of assets registered in Zano blockchain +Return list of assets registered in Lethean blockchain -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -29,7 +29,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "asset_id": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped ABC", + "full_name": "Lethean wrapped ABC", "hidden_supply": false, "meta_info": "{ \"some_arbitrary_field_name\": \"some arbitrary value\"}", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -43,7 +43,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` ``` ### Response description: ``` - "assets": List of assets registered in Zano blockchain + "assets": List of assets registered in Lethean blockchain "asset_id": Asset ID "current_supply": Currently emitted supply for the given asset (ignored for REGISTER operation). "decimal_point": Decimal point. @@ -57,4 +57,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status code of operation, OK if success ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/daemon-rpc-api/get_blocks_details.md b/docs/build/rpc-api/daemon-rpc-api/get_blocks_details.md index 5d9c800..ed196e7 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_blocks_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_blocks_details.md @@ -1,6 +1,6 @@ Retrieves detailed information about a sequence of blocks starting from a specific height. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_current_core_tx_expiration_median.md b/docs/build/rpc-api/daemon-rpc-api/get_current_core_tx_expiration_median.md index 9a634f2..4381fba 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_current_core_tx_expiration_median.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_current_core_tx_expiration_median.md @@ -1,6 +1,6 @@ Retrieves the current core transaction expiration median. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_est_height_from_date.md b/docs/build/rpc-api/daemon-rpc-api/get_est_height_from_date.md index c420ef4..92caa5b 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_est_height_from_date.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_est_height_from_date.md @@ -1,6 +1,6 @@ Give an estimation of block height by the given date. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_integrated_address.md b/docs/build/rpc-api/daemon-rpc-api/get_integrated_address.md index c024b9b..0ceddc8 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_integrated_address.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_integrated_address.md @@ -1,6 +1,6 @@ Make integrated address from regular address -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -9,14 +9,14 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "method": "get_integrated_address", "params": { "payment_id": "1dfe5a88ff9effb3", - "regular_address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7" + "regular_address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY" } } ``` ### Request description: ``` "payment_id": Hex-encoded Payment ID to be associated with the this address. If empty then wallet would generate new payment id using system random library - "regular_address": Zano wallet address to be used as a base for integrated address + "regular_address": Lethean wallet address to be used as a base for integrated address ``` ### Response: @@ -38,4 +38,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/daemon-rpc-api/get_main_block_details.md b/docs/build/rpc-api/daemon-rpc-api/get_main_block_details.md index b45450e..514592c 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_main_block_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_main_block_details.md @@ -1,6 +1,6 @@ Retrieves detailed information about a specific block identified by its hash. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_multisig_info.md b/docs/build/rpc-api/daemon-rpc-api/get_multisig_info.md index 2aa76c4..f779c3a 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_multisig_info.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_multisig_info.md @@ -1,6 +1,6 @@ Retrieve basic information about a multisig output using its unique identifier (hash). -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_o_indexes.bin.md b/docs/build/rpc-api/daemon-rpc-api/get_o_indexes.bin.md index 23c94d5..2e3e6c2 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_o_indexes.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_o_indexes.bin.md @@ -1,6 +1,6 @@ Obtain global outputs' indexes for the given txs. -URL: ```http:://127.0.0.1:11211/get_o_indexes.bin``` +URL: ```http:://127.0.0.1:36941/get_o_indexes.bin``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_out_info.md b/docs/build/rpc-api/daemon-rpc-api/get_out_info.md index ec03f3d..21f25c3 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_out_info.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_out_info.md @@ -1,6 +1,6 @@ Returns transaction ID and local output index for a given output amount and its global index. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_pool_info.md b/docs/build/rpc-api/daemon-rpc-api/get_pool_info.md index 5dcf551..2100adb 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_pool_info.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_pool_info.md @@ -1,6 +1,6 @@ Obtain basic information about the transaction pool. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -22,7 +22,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "result": { "aliases_que": [{ - "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "alias": "zxdya6q6whzwqjkmtcsjpc3ku", "comment": "Society is never gonna make any progress until we all learn to pretend to like each other.", "tracking_key": "18bb94f69ed61b47b6556f3871b89dff8f9a6f4f798f706fd199b05ccf8ef20c" diff --git a/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_brief_details.md b/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_brief_details.md index c92df7d..5d8347e 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_brief_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_brief_details.md @@ -1,6 +1,6 @@ Retrieves brief details about specific transactions in the transaction pool, identified by their IDs. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_details.md b/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_details.md index 3444058..44879d7 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_details.md @@ -1,6 +1,6 @@ Retrieves detailed information about specific transactions in the transaction pool, identified by their IDs. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_pos_details.bin.md b/docs/build/rpc-api/daemon-rpc-api/get_pos_details.bin.md index 8d87abc..efe4b8e 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_pos_details.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_pos_details.bin.md @@ -1,6 +1,6 @@ Retrieves basic information regarding PoS mining, including current PoS conditions and constraints. -URL: ```http:://127.0.0.1:11211/get_pos_details.bin``` +URL: ```http:://127.0.0.1:36941/get_pos_details.bin``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_tx_details.md b/docs/build/rpc-api/daemon-rpc-api/get_tx_details.md index fef627c..0d613d6 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_tx_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_tx_details.md @@ -1,6 +1,6 @@ Retrieves detailed information about a specific transaction. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_tx_pool.bin.md b/docs/build/rpc-api/daemon-rpc-api/get_tx_pool.bin.md index 601d0b8..48eeceb 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_tx_pool.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_tx_pool.bin.md @@ -1,6 +1,6 @@ Retreives transactions from tx pool (and other information). -URL: ```http:://127.0.0.1:11211/get_tx_pool.bin``` +URL: ```http:://127.0.0.1:36941/get_tx_pool.bin``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/get_votes.md b/docs/build/rpc-api/daemon-rpc-api/get_votes.md index f59e1a8..9eb5ea9 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_votes.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_votes.md @@ -1,6 +1,6 @@ Get votes' results from the given block range. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getblockcount.md b/docs/build/rpc-api/daemon-rpc-api/getblockcount.md index 7b9ae5d..154c466 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getblockcount.md +++ b/docs/build/rpc-api/daemon-rpc-api/getblockcount.md @@ -1,6 +1,6 @@ Returns the total number of blocks in the blockchain (the height of the top block plus one). -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyhash.md b/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyhash.md index 6fce972..2c730ad 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyhash.md +++ b/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyhash.md @@ -1,6 +1,6 @@ Retrieves the block header information for a given block hash. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyheight.md b/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyheight.md index 51dd7f1..ce2a00c 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyheight.md +++ b/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyheight.md @@ -1,6 +1,6 @@ Retrieves the block header information for a given block height. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getblocks.bin.md b/docs/build/rpc-api/daemon-rpc-api/getblocks.bin.md index a27d0a5..b1efb58 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getblocks.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/getblocks.bin.md @@ -1,6 +1,6 @@ NO DESCRIPTION -URL: ```http:://127.0.0.1:11211/getblocks.bin``` +URL: ```http:://127.0.0.1:36941/getblocks.bin``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getblocktemplate.md b/docs/build/rpc-api/daemon-rpc-api/getblocktemplate.md index 90c1c0e..f8f4432 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getblocktemplate.md +++ b/docs/build/rpc-api/daemon-rpc-api/getblocktemplate.md @@ -1,6 +1,6 @@ Generates a block template for mining, intended for both PoW and PoS types of blocks based on the provided parameters. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -21,7 +21,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` }, "pos_block": false, "stakeholder_address": "", - "wallet_address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7" + "wallet_address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY" } } ``` diff --git a/docs/build/rpc-api/daemon-rpc-api/getheight.md b/docs/build/rpc-api/daemon-rpc-api/getheight.md index 336d3b5..11c8f41 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getheight.md +++ b/docs/build/rpc-api/daemon-rpc-api/getheight.md @@ -1,6 +1,6 @@ Return current blockchain height -URL: ```http:://127.0.0.1:11211/getheight``` +URL: ```http:://127.0.0.1:36941/getheight``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getinfo.md b/docs/build/rpc-api/daemon-rpc-api/getinfo.md index ce244d7..6eb28b1 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getinfo.md +++ b/docs/build/rpc-api/daemon-rpc-api/getinfo.md @@ -1,6 +1,6 @@ Retrieves various information about the blockchain node. The user must specify their needs via a 'flags' field in the request by combining necessary flags using binary OR. Some values are always calculated and provided, others only if the corresponding flag is specified. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getlastblockheader.md b/docs/build/rpc-api/daemon-rpc-api/getlastblockheader.md index 30bf411..f082437 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getlastblockheader.md +++ b/docs/build/rpc-api/daemon-rpc-api/getlastblockheader.md @@ -1,6 +1,6 @@ Returns the block header information of the most recent block. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.bin.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.bin.md index 4413e6f..e191c54 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.bin.md @@ -1,6 +1,6 @@ Retrieve random decoy outputs for specified amounts (legacy format). -URL: ```http:://127.0.0.1:11211/getrandom_outs.bin``` +URL: ```http:://127.0.0.1:36941/getrandom_outs.bin``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.md index 97c08d0..8da327c 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.md @@ -1,6 +1,6 @@ Retrieve random decoy outputs for specified amounts (legacy format). -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.bin.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.bin.md index beaea95..f53a728 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.bin.md @@ -1,6 +1,6 @@ Retrieve random decoy outputs for specified amounts, to be used for mixing in transactions. -URL: ```http:://127.0.0.1:11211/getrandom_outs1.bin``` +URL: ```http:://127.0.0.1:36941/getrandom_outs1.bin``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.md index f6b3131..7d8bab0 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.md @@ -1,6 +1,6 @@ Retrieve random decoy outputs for specified amounts, to be used for mixing in transactions. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.bin.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.bin.md index 4b856d0..3e436d8 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.bin.md @@ -1,6 +1,6 @@ Version 3 of the command to retrieve random decoy outputs for specified amounts, focusing on either pre-zarcanum or post-zarcanum zones based on the amount value. -URL: ```http:://127.0.0.1:11211/getrandom_outs3.bin``` +URL: ```http:://127.0.0.1:36941/getrandom_outs3.bin``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.md index 5267713..430e206 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.md @@ -1,6 +1,6 @@ Version 3 of the command to retrieve random decoy outputs for specified amounts, focusing on either pre-zarcanum or post-zarcanum zones based on the amount value. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.bin.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.bin.md index 3b75398..182a311 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.bin.md @@ -1,6 +1,6 @@ Version 4 of the command to retrieve random decoy outputs for specified amounts, focusing on either pre-zarcanum or post-zarcanum zones based on the amount value. -URL: ```http:://127.0.0.1:11211/getrandom_outs4.bin``` +URL: ```http:://127.0.0.1:36941/getrandom_outs4.bin``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.md index 945715f..b64c874 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.md @@ -1,6 +1,6 @@ Version 4 of the command to retrieve random decoy outputs for specified amounts, focusing on either pre-zarcanum or post-zarcanum zones based on the amount value. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/gettransactions.md b/docs/build/rpc-api/daemon-rpc-api/gettransactions.md index 5632c8b..62c09ee 100644 --- a/docs/build/rpc-api/daemon-rpc-api/gettransactions.md +++ b/docs/build/rpc-api/daemon-rpc-api/gettransactions.md @@ -1,6 +1,6 @@ Retreive transactions by their IDs. -URL: ```http:://127.0.0.1:11211/gettransactions``` +URL: ```http:://127.0.0.1:36941/gettransactions``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/marketplace_global_get_offers_ex.md b/docs/build/rpc-api/daemon-rpc-api/marketplace_global_get_offers_ex.md index ba949e6..20de8ab 100644 --- a/docs/build/rpc-api/daemon-rpc-api/marketplace_global_get_offers_ex.md +++ b/docs/build/rpc-api/daemon-rpc-api/marketplace_global_get_offers_ex.md @@ -1,6 +1,6 @@ Fetch from daemon offers listed in the marketplace with given filters -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { @@ -74,8 +74,8 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "lci": "Kolasin", "lco": "Montenegro", "ot": 0, - "p": "ZANO", - "pt": "zano", + "p": "LTHN", + "pt": "lethean", "security": "40fa6db923728b38962718c61b4dc3af1acaa1967479c73703e260dc3609c58d", "t": "USDT", "timestamp": 1712683857, @@ -116,4 +116,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "total_offers": Total number of offers. ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/daemon-rpc-api/on_getblockhash.md b/docs/build/rpc-api/daemon-rpc-api/on_getblockhash.md index 95eeaf8..9a14ab1 100644 --- a/docs/build/rpc-api/daemon-rpc-api/on_getblockhash.md +++ b/docs/build/rpc-api/daemon-rpc-api/on_getblockhash.md @@ -1,6 +1,6 @@ Returns block hash by the given height. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/search_by_id.md b/docs/build/rpc-api/daemon-rpc-api/search_by_id.md index 41bf3af..9a2b147 100644 --- a/docs/build/rpc-api/daemon-rpc-api/search_by_id.md +++ b/docs/build/rpc-api/daemon-rpc-api/search_by_id.md @@ -1,6 +1,6 @@ Searches for a given ID across various entity types such as blocks, transactions, key images, multisig outputs, and alternative blocks, useful when the entity type is unknown or unspecified. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/sendrawtransaction.md b/docs/build/rpc-api/daemon-rpc-api/sendrawtransaction.md index e47646e..4881e0b 100644 --- a/docs/build/rpc-api/daemon-rpc-api/sendrawtransaction.md +++ b/docs/build/rpc-api/daemon-rpc-api/sendrawtransaction.md @@ -1,6 +1,6 @@ Broadcasts a raw transaction encoded in hexadecimal format to the network. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/set_maintainers_info.bin.md b/docs/build/rpc-api/daemon-rpc-api/set_maintainers_info.bin.md index 68f7e8f..a3db07c 100644 --- a/docs/build/rpc-api/daemon-rpc-api/set_maintainers_info.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/set_maintainers_info.bin.md @@ -1,6 +1,6 @@ NO DESCRIPTION -URL: ```http:://127.0.0.1:11211/set_maintainers_info.bin``` +URL: ```http:://127.0.0.1:36941/set_maintainers_info.bin``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/submitblock.md b/docs/build/rpc-api/daemon-rpc-api/submitblock.md index f8fc93b..b16a6aa 100644 --- a/docs/build/rpc-api/daemon-rpc-api/submitblock.md +++ b/docs/build/rpc-api/daemon-rpc-api/submitblock.md @@ -1,6 +1,6 @@ Adds new block to the blockchain. Request should contain one string with hex-encoded block blob. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/submitblock2.md b/docs/build/rpc-api/daemon-rpc-api/submitblock2.md index c7bc71e..9a1457a 100644 --- a/docs/build/rpc-api/daemon-rpc-api/submitblock2.md +++ b/docs/build/rpc-api/daemon-rpc-api/submitblock2.md @@ -1,6 +1,6 @@ Adds new block to the blockchain. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc-api/validate_signature.md b/docs/build/rpc-api/daemon-rpc-api/validate_signature.md index 9e17fa0..0abd1c2 100644 --- a/docs/build/rpc-api/daemon-rpc-api/validate_signature.md +++ b/docs/build/rpc-api/daemon-rpc-api/validate_signature.md @@ -1,6 +1,6 @@ Validates a Schnorr signature for arbitrary data. The public key for verification is provided directly or retrieved using an associated alias. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36941/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/daemon-rpc.md b/docs/build/rpc-api/daemon-rpc.md index 2b11163..5aba366 100644 --- a/docs/build/rpc-api/daemon-rpc.md +++ b/docs/build/rpc-api/daemon-rpc.md @@ -4,20 +4,20 @@ sidebar_position: 3 # Daemon RPC Mode -Zano command-line daemon application (zanod) can be controlled by remote procedure calls (RPC). This makes it possible to use it as a back end for user-defined services. +Lethean command-line daemon application (lethean-chain-node) can be controlled by remote procedure calls (RPC). This makes it possible to use it as a back end for user-defined services. -The daemon starts in RPC server mode by default. To specify the RPC port or bind address the user will need to run zanod with the following options: +The daemon starts in RPC server mode by default. To specify the RPC port or bind address the user will need to run lethean-chain-node with the following options: ```shell -zanod --rpc-bind-ip RPC_IP --rpc-bind-port RPC_PORT +lethean-chain-node --rpc-bind-ip RPC_IP --rpc-bind-port RPC_PORT ``` where: **RPC_IP** — IP address to bind RPC server to (127.0.0.1 will be used if not specified); -**RPC_PORT** — TCP port for RPC server (11211 is default); +**RPC_PORT** — TCP port for RPC server (36941 is default); -All examples below are based on the assumption that the daemon is listening for RPC at 127.0.0.1:11211. +All examples below are based on the assumption that the daemon is listening for RPC at 127.0.0.1:36941. All amounts and balances are represented as unsigned integers and measured in atomic units — the smallest fraction of a coin. @@ -52,3 +52,4 @@ You may want to use epee serialization, in particular **epee::serialization::store_t_to_binary** and **epee::serialization::load_t_from_binary** methods, to serialize your data before passing to API, and to deserialize upon retrieving from API. Alternatively, you may use **epee::net_utils::invoke_http_bin_remote_command2** All methods in this section are accessible by http\://RPC_IP:RPC_PORT/METOD_NAME URI. + diff --git a/docs/build/rpc-api/how-to-call-api.md b/docs/build/rpc-api/how-to-call-api.md index 97bdecd..3e0c637 100644 --- a/docs/build/rpc-api/how-to-call-api.md +++ b/docs/build/rpc-api/how-to-call-api.md @@ -4,11 +4,11 @@ sidebar_position: 2 # How to call API -Making API calls to the Zano Daemon and Wallet is easy, below we'll give you an example to help you get started building on Zano. +Making API calls to the Lethean Daemon and Wallet is easy, below we'll give you an example to help you get started building on Lethean. ### Using Insomnia -[Insomnia](https://insomnia.rest/) is a program (similar to [postman](https://www.postman.com/)) that helps you design, debug, and test APIs, heres an example API call to the Zano Daemon using Insomnia. +[Insomnia](https://insomnia.rest/) is a program (similar to [postman](https://www.postman.com/)) that helps you design, debug, and test APIs, heres an example API call to the Lethean Daemon using Insomnia. ![](https://files.readme.io/d5fd42e-insomnia_call.png) @@ -23,7 +23,7 @@ const axios = require("axios"); async function callAPI() { try { - const url = "http://127.0.0.1:11211/json_rpc"; + const url = "http://127.0.0.1:36941/json_rpc"; const requestData = { jsonrpc: "2.0", id: 0, @@ -41,12 +41,45 @@ async function callAPI() { callAPI(); ``` +### Using curl + +```bash +# Daemon RPC — get chain info +curl -X POST http://127.0.0.1:36941/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"getinfo"}' + +# Wallet RPC — get balance (wallet must be running in RPC mode) +curl -X POST http://127.0.0.1:36944/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"getbalance"}' + +# Start mining (HTTP endpoint, not JSON-RPC) +curl -X POST http://127.0.0.1:36941/start_mining \ + -H 'Content-Type: application/json' \ + -d '{"miner_address":"YOUR_iTHN_ADDRESS","threads_count":4}' + +# Create integrated address (for payment tracking) +curl -X POST http://127.0.0.1:36944/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"make_integrated_address","params":{"payment_id":"1234567890abcdef"}}' +``` + ### Summary -When running the Daemon and Wallet in RPC mode locally, the following URL, whether using something like Insomnia or NodeJS or some other language, you access the daemon with the following URL: +| Service | Default Port | URL | +|---------|-------------|-----| +| Daemon RPC | 36941 (testnet: 46941) | `http://127.0.0.1:36941/json_rpc` | +| Wallet RPC | 36944 (testnet: 46944) | `http://127.0.0.1:36944/json_rpc` | +| Daemon P2P | 36942 (testnet: 46942) | N/A (peer connections) | -``` -http://127.0.0.1:11211/json_rpc -``` +The daemon also exposes HTTP endpoints for mining control (`/start_mining`, `/stop_mining`) and binary data (`/getblocks.bin`, `/get_o_indexes.bin`). + +### Libraries + +- **JavaScript/TypeScript:** [`lethean_web3`](https://github.com/lethean-io) — server + browser wallet interaction +- **Node.js native:** [`lethean-util`](https://github.com/lethean-io) — address validation, block template conversion, PoW hashing (for mining pools) +- **JavaScript:** [`zano-utils-js`](https://github.com/lethean-io) — Ed25519 crypto, address encoding, transaction decoding + +Have fun building on Lethean! -Have fun building on Zano! diff --git a/docs/build/rpc-api/overview.md b/docs/build/rpc-api/overview.md index 0e4e7ee..acd8e04 100644 --- a/docs/build/rpc-api/overview.md +++ b/docs/build/rpc-api/overview.md @@ -4,9 +4,9 @@ sidebar_position: 1 # Overview -Welcome to the Zano API documentation! As a digital currency enthusiast, developer, or end user, we know how important it is for you to have a clear, comprehensive guide to our API. That's why we've designed our documentation to be as accessible and easy to understand as possible. +Welcome to the Lethean API documentation! As a digital currency enthusiast, developer, or end user, we know how important it is for you to have a clear, comprehensive guide to our API. That's why we've designed our documentation to be as accessible and easy to understand as possible. -Our aim with this documentation is to help you harness the full potential of Zano's feature-rich platform, allowing you to integrate, innovate, and build on top of Zano's powerful privacy-oriented blockchain. +Our aim with this documentation is to help you harness the full potential of Lethean's feature-rich platform, allowing you to integrate, innovate, and build on top of Lethean's powerful privacy-oriented blockchain. :::info Read more on the [JSON-RPC 2.0 Specification](https://www.jsonrpc.org/specification) @@ -46,10 +46,10 @@ Additionally, endpoints will be grouped according to whether they call the Daemo ## Running Daemon and Wallet in RPC mode (brief guide) :::info -All examples below are based on the assumption that the daemon is listening for RPC at 127.0.0.1:11211 +All examples below are based on the assumption that the daemon is listening for RPC at 127.0.0.1:36941 ::: -In order to send JSON requests, both the Zano Daemon and Wallet must be ran in RPC mode +In order to send JSON requests, both the Lethean Daemon and Wallet must be ran in RPC mode :::tip For additional info on RPC mode, for wallet visit [Wallet RPC Mode](wallet-rpc), and [Daemon RPC Mode](daemon-rpc) @@ -62,20 +62,20 @@ In order to interact with the Marketplace API, you must include the following fl ::: ```Text console -./zanod --rpc-bind-ip 127.0.0.1 --rpc-bind-port 11211 --enable-offers-service +./lethean-chain-node --rpc-bind-ip 127.0.0.1 --rpc-bind-port 36941 --enable-offers-service ``` ### Daemon flags - rpc-bind-ip — IP address to bind RPC server to (127.0.0.1 will be used if not specified); -- rpc-bind-port — TCP port for RPC server (11211 is default); +- rpc-bind-port — TCP port for RPC server (36941 is default); --- ### How to run Wallet in RPC mode ```Text console -./simplewallet --wallet-file example.wallet --password password --rpc-bind-ip 127.0.0.1 --rpc-bind-port 11212 --daemon-address 127.0.0.1:11211 +./lethean-wallet-cli --wallet-file example.wallet --password password --rpc-bind-ip 127.0.0.1 --rpc-bind-port 36944 --daemon-address 127.0.0.1:36941 ``` ### Daemon flags @@ -84,3 +84,4 @@ In order to interact with the Marketplace API, you must include the following fl - password - wallets password - rpc-bind-port - TCP port for wallet RPC server - rpc-bind-ip - IP and PORT of the daemon + diff --git a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_add.md b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_add.md index 3214fa0..9a7ac4b 100644 --- a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_add.md +++ b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_add.md @@ -1,6 +1,6 @@ Add given asset id to local whitelist. This whitelist is stored with the wallet file and reset in case of wallet resync or restoring wallet from seed phrase. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -26,7 +26,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "asset_descriptor": { "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped ABC", + "full_name": "Lethean wrapped ABC", "hidden_supply": false, "meta_info": "{ \"some_arbitrary_field_name\": \"some arbitrary value\"}", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -53,4 +53,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the asset ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_get.md b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_get.md index 1c2d655..7f4d8be 100644 --- a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_get.md +++ b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_get.md @@ -1,6 +1,6 @@ Get whitelisted assets for this wallet, assets descriptors present in any of the lists in results would be present in balance() call results(if those assets are part of the wallet transfers). Assets that are not included in those lists won't be included in balance even if the wallet own inputs with such assets. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -25,7 +25,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "asset_id": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped ABC", + "full_name": "Lethean wrapped ABC", "hidden_supply": false, "meta_info": "{ \"some_arbitrary_field_name\": \"some arbitrary value\"}", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -37,7 +37,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "asset_id": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped ABC", + "full_name": "Lethean wrapped ABC", "hidden_supply": false, "meta_info": "{ \"some_arbitrary_field_name\": \"some arbitrary value\"}", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -49,7 +49,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "asset_id": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped ABC", + "full_name": "Lethean wrapped ABC", "hidden_supply": false, "meta_info": "{ \"some_arbitrary_field_name\": \"some arbitrary value\"}", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -97,4 +97,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "total_max_supply": Maximum possible supply for a given asset, cannot be changed after deployment. ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_remove.md b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_remove.md index 28812b8..4dbc145 100644 --- a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_remove.md +++ b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_remove.md @@ -1,6 +1,6 @@ Remove given asset id from local whitelist. This whitelist is stored with the wallet file and reset in case of wallet resync or restoring wallet from seed phrase. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/attach_asset_descriptor.md b/docs/build/rpc-api/wallet-rpc-api/attach_asset_descriptor.md index bacdf85..5ee9eb7 100644 --- a/docs/build/rpc-api/wallet-rpc-api/attach_asset_descriptor.md +++ b/docs/build/rpc-api/wallet-rpc-api/attach_asset_descriptor.md @@ -1,6 +1,6 @@ Attach asset descripto to this wallet instance, if asset descripto attached then ADO operations to this asset can be performed using API of this wallet. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/burn_asset.md b/docs/build/rpc-api/wallet-rpc-api/burn_asset.md index 05feae5..401a86c 100644 --- a/docs/build/rpc-api/wallet-rpc-api/burn_asset.md +++ b/docs/build/rpc-api/wallet-rpc-api/burn_asset.md @@ -1,6 +1,6 @@ Burn some owned amount of the coins for the given asset. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -11,7 +11,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "asset_id": "40fa6db923728b38962718c61b4dc3af1acaa1967479c73703e260dc3609c58d", "burn_amount": 10000000, "native_amount": 0, - "point_tx_to_address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", + "point_tx_to_address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "service_entries": [{ "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", "flags": 0, diff --git a/docs/build/rpc-api/wallet-rpc-api/clear_utxo_cold_sig_reservation.md b/docs/build/rpc-api/wallet-rpc-api/clear_utxo_cold_sig_reservation.md index 7aa15cc..cd6ce1f 100644 --- a/docs/build/rpc-api/wallet-rpc-api/clear_utxo_cold_sig_reservation.md +++ b/docs/build/rpc-api/wallet-rpc-api/clear_utxo_cold_sig_reservation.md @@ -1,6 +1,6 @@ Clears cold sig reservation flag for all unspent transaction outputs, that have one. Please, use with CAUTION! -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/decrypt_data.md b/docs/build/rpc-api/wallet-rpc-api/decrypt_data.md index 0f5afc4..63e2c2f 100644 --- a/docs/build/rpc-api/wallet-rpc-api/decrypt_data.md +++ b/docs/build/rpc-api/wallet-rpc-api/decrypt_data.md @@ -1,6 +1,6 @@ Trivially decrypt base64 encoded data message with chacha using wallet spend key -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/deploy_asset.md b/docs/build/rpc-api/wallet-rpc-api/deploy_asset.md index 4e1be27..45ede4e 100644 --- a/docs/build/rpc-api/wallet-rpc-api/deploy_asset.md +++ b/docs/build/rpc-api/wallet-rpc-api/deploy_asset.md @@ -1,6 +1,6 @@ Deploy new asset in the system. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -11,7 +11,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "asset_descriptor": { "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped ABC", + "full_name": "Lethean wrapped ABC", "hidden_supply": false, "meta_info": "{ \"some_arbitrary_field_name\": \"some arbitrary value\"}", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -20,7 +20,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "total_max_supply": 1000000000000000000 }, "destinations": [{ - "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "amount": 10000000000000, "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", "payment_id": 1020394 @@ -66,4 +66,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_id": Id of transaction that carries asset registration command, asset would be registered as soon as transaction got confirmed ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/emit_asset.md b/docs/build/rpc-api/wallet-rpc-api/emit_asset.md index 6f97aac..100282f 100644 --- a/docs/build/rpc-api/wallet-rpc-api/emit_asset.md +++ b/docs/build/rpc-api/wallet-rpc-api/emit_asset.md @@ -1,6 +1,6 @@ Emmit new coins of the the asset, that is controlled by this wallet. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -10,7 +10,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "params": { "asset_id": "40fa6db923728b38962718c61b4dc3af1acaa1967479c73703e260dc3609c58d", "destinations": [{ - "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "amount": 10000000000000, "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", "payment_id": 1020394 diff --git a/docs/build/rpc-api/wallet-rpc-api/encrypt_data.md b/docs/build/rpc-api/wallet-rpc-api/encrypt_data.md index b6fb13f..8c3ca62 100644 --- a/docs/build/rpc-api/wallet-rpc-api/encrypt_data.md +++ b/docs/build/rpc-api/wallet-rpc-api/encrypt_data.md @@ -1,6 +1,6 @@ Trivially encrypt base64 encoded data message with chacha using wallet spend key -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/force_rescan_tx_pool.md b/docs/build/rpc-api/wallet-rpc-api/force_rescan_tx_pool.md index 99a1ceb..16b2dfc 100644 --- a/docs/build/rpc-api/wallet-rpc-api/force_rescan_tx_pool.md +++ b/docs/build/rpc-api/wallet-rpc-api/force_rescan_tx_pool.md @@ -1,6 +1,6 @@ Force wallet to fetch tx pool from daemon and go through it's transactions -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/get_bare_outs_stats.md b/docs/build/rpc-api/wallet-rpc-api/get_bare_outs_stats.md index 828e70e..63cb9da 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_bare_outs_stats.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_bare_outs_stats.md @@ -1,6 +1,6 @@ Return information about wallet's pre-zarcanum era outputs. Those outputs should be converted to post-zarcanum varian with trnasfering it sooner or later. (Only outputs that have been created in Zarcanum era can participaet in staking) -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/get_bulk_payments.md b/docs/build/rpc-api/wallet-rpc-api/get_bulk_payments.md index bf8bede..259820d 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_bulk_payments.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_bulk_payments.md @@ -1,6 +1,6 @@ Gets list of incoming transfers by a given multiple payment_ids -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/get_mining_history.md b/docs/build/rpc-api/wallet-rpc-api/get_mining_history.md index 660a194..e2bac35 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_mining_history.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_mining_history.md @@ -1,6 +1,6 @@ Returns wallet statistic on mining. As an argument 'v' it receive timestamp from which history is reviewed -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/get_payments.md b/docs/build/rpc-api/wallet-rpc-api/get_payments.md index 018bce3..7fe54a5 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_payments.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_payments.md @@ -1,6 +1,6 @@ Gets list of incoming transfers by a given payment ID -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info.md b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info.md index 694d9f5..91f535a 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info.md @@ -1,6 +1,6 @@ (deprecated) Returns wallet history of transactions -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -59,9 +59,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_a": false, "payment_id": "", "private_detailes": { - "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "a_pledge": 0, - "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "b_pledge": 0, "c": "", "t": "", @@ -79,7 +79,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mixing": false, "is_service": false, "payment_id": "00000000ff00ff00", - "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_addresses": ["iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"], "remote_aliases": ["roger"], "service_entries": [{ "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", @@ -132,7 +132,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_income": If trnasfer entrie is income (taken from native subtransfer) "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) - "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "is_service": Tells if this transaction is used as utility by one of Lethean services(contracts, ionic swaps, etc) "payment_id": HEX-encoded payment id blob, if it was present "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered @@ -157,4 +157,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "unlock_time": Unlock time of this transfer (if present) ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info2.md b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info2.md index 0e541d9..f08ecf1 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info2.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info2.md @@ -1,6 +1,6 @@ (deprecated) Returns wallet history of transactions V2 (post-Zarcanum version) -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -58,9 +58,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_a": false, "payment_id": "", "private_detailes": { - "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "a_pledge": 0, - "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "b_pledge": 0, "c": "", "t": "", @@ -77,7 +77,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mixing": false, "is_service": false, "payment_id": "00000000ff00ff00", - "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_addresses": ["iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"], "remote_aliases": ["roger"], "service_entries": [{ "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", @@ -133,7 +133,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "height": Height of the block that included transaction(0 i transaction is unconfirmed) "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) - "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "is_service": Tells if this transaction is used as utility by one of Lethean services(contracts, ionic swaps, etc) "payment_id": HEX-encoded payment id blob, if it was present "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered @@ -162,4 +162,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "unlock_time": Unlock time of this transfer (if present) ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info3.md b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info3.md index b7c9ff5..858f714 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info3.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info3.md @@ -1,6 +1,6 @@ Returns wallet history of transactions V3 (HF6-ready version with intrinsic payment IDs support) -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -58,9 +58,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_a": false, "payment_id": "", "private_detailes": { - "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "a_pledge": 0, - "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "b_pledge": 0, "c": "", "t": "", @@ -76,7 +76,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mining": false, "is_mixing": false, "is_service": false, - "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_addresses": ["iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"], "remote_aliases": ["roger"], "service_entries": [{ "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", @@ -127,7 +127,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "height": Height of the block that included transaction(0 i transaction is unconfirmed) "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) - "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "is_service": Tells if this transaction is used as utility by one of Lethean services(contracts, ionic swaps, etc) "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered "service_entries": Additional entries that might be stored in transaction but not part of it's consensus @@ -151,4 +151,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "unlock_time": Unlock time of this transfer (if present) ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/get_restore_info.md b/docs/build/rpc-api/wallet-rpc-api/get_restore_info.md index ef2c12b..6517f03 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_restore_info.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_restore_info.md @@ -1,6 +1,6 @@ Return wallet seed, which could be password-protected(seed secured with passphrase) or open(unsecured seed). If no password provided it returns open (unsecured) seed. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/get_seed_phrase_info.md b/docs/build/rpc-api/wallet-rpc-api/get_seed_phrase_info.md index 5ca76f9..35c1535 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_seed_phrase_info.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_seed_phrase_info.md @@ -1,6 +1,6 @@ This call is used to validate seed phrase and to fetch additional information about it -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -25,7 +25,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": 0, "jsonrpc": "2.0", "result": { - "address": "ZxDNaMeZjwCjnHuU5gUNyrP1pM3U5vckbakzzV6dEHyDYeCpW8XGLBFTshcaY8LkG9RQn7FsQx8w2JeJzJwPwuDm2NfixPAXf", + "address": "iTHNQGNCbu8BH7FhQuzsv5CVsE3veDX1CFCxk9jsqRfA4tFcUPNwQa4DWLFvyaKvs3HGb8xfGDGQq871c9P4iRpt8SFusoqSzJ", "hash_sum_matched": true, "require_password": true, "syntax_correct": true, diff --git a/docs/build/rpc-api/wallet-rpc-api/get_wallet_info.md b/docs/build/rpc-api/wallet-rpc-api/get_wallet_info.md index d94749c..43d33a5 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_wallet_info.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_wallet_info.md @@ -1,6 +1,6 @@ Returns wallet helpful wallet information -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -23,7 +23,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": 0, "jsonrpc": "2.0", "result": { - "address": "ZxDNaMeZjwCjnHuU5gUNyrP1pM3U5vckbakzzV6dEHyDYeCpW8XGLBFTshcaY8LkG9RQn7FsQx8w2JeJzJwPwuDm2NfixPAXf", + "address": "iTHNQGNCbu8BH7FhQuzsv5CVsE3veDX1CFCxk9jsqRfA4tFcUPNwQa4DWLFvyaKvs3HGb8xfGDGQq871c9P4iRpt8SFusoqSzJ", "current_height": 112132, "has_bare_unspent_outputs": false, "is_whatch_only": false, diff --git a/docs/build/rpc-api/wallet-rpc-api/getaddress.md b/docs/build/rpc-api/wallet-rpc-api/getaddress.md index ea8d7b6..c30fa97 100644 --- a/docs/build/rpc-api/wallet-rpc-api/getaddress.md +++ b/docs/build/rpc-api/wallet-rpc-api/getaddress.md @@ -1,6 +1,6 @@ Obtains wallet's public address -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -21,7 +21,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": 0, "jsonrpc": "2.0", "result": { - "address": "ZxDNaMeZjwCjnHuU5gUNyrP1pM3U5vckbakzzV6dEHyDYeCpW8XGLBFTshcaY8LkG9RQn7FsQx8w2JeJzJwPwuDm2NfixPAXf" + "address": "iTHNQGNCbu8BH7FhQuzsv5CVsE3veDX1CFCxk9jsqRfA4tFcUPNwQa4DWLFvyaKvs3HGb8xfGDGQq871c9P4iRpt8SFusoqSzJ" } } ``` diff --git a/docs/build/rpc-api/wallet-rpc-api/getbalance.md b/docs/build/rpc-api/wallet-rpc-api/getbalance.md index b4b1a10..7a87f33 100644 --- a/docs/build/rpc-api/wallet-rpc-api/getbalance.md +++ b/docs/build/rpc-api/wallet-rpc-api/getbalance.md @@ -1,6 +1,6 @@ Return the balances across all whitelisted assets of the wallet -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -27,7 +27,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "asset_id": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped ABC", + "full_name": "Lethean wrapped ABC", "hidden_supply": false, "meta_info": "{ \"some_arbitrary_field_name\": \"some arbitrary value\"}", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -72,4 +72,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "unlocked_balance": Native coins total unlocked amount ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_accept_proposal.md b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_accept_proposal.md index c9c8f13..afd9c98 100644 --- a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_accept_proposal.md +++ b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_accept_proposal.md @@ -1,6 +1,6 @@ This essential command actually execute proposal that was sent by counter party, by completing and signing transaction template that was in proposal, and sending it to the network. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal.md b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal.md index 0bbf876..187e568 100644 --- a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal.md +++ b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal.md @@ -1,6 +1,6 @@ Generates ionic swap proposal according to details provided in request, result present as hex-encoded blob, that should be passed to recepient to validate this proposal and executing on it -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -8,7 +8,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "method": "ionic_swap_generate_proposal", "params": { - "destination_address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", + "destination_address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "proposal": { "fee_paid_by_a": 10000000000, "to_finalizer": [{ diff --git a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_get_proposal_info.md b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_get_proposal_info.md index 0075c2e..3ce9de4 100644 --- a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_get_proposal_info.md +++ b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_get_proposal_info.md @@ -1,6 +1,6 @@ Reads hex-encoded ionic swap proposal info, generated by other user and addressed to this wallet -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/make_integrated_address.md b/docs/build/rpc-api/wallet-rpc-api/make_integrated_address.md index eacf7dd..e3f4926 100644 --- a/docs/build/rpc-api/wallet-rpc-api/make_integrated_address.md +++ b/docs/build/rpc-api/wallet-rpc-api/make_integrated_address.md @@ -1,6 +1,6 @@ Generate integrated address -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/marketplace_cancel_offer.md b/docs/build/rpc-api/wallet-rpc-api/marketplace_cancel_offer.md index 008a62b..73ccf10 100644 --- a/docs/build/rpc-api/wallet-rpc-api/marketplace_cancel_offer.md +++ b/docs/build/rpc-api/wallet-rpc-api/marketplace_cancel_offer.md @@ -1,6 +1,6 @@ Cancel existing offer that this wallet created(it actually create transaction that says that existing order got canceled) -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/marketplace_get_offers_ex.md b/docs/build/rpc-api/wallet-rpc-api/marketplace_get_offers_ex.md index 5a535a3..f48e8f4 100644 --- a/docs/build/rpc-api/wallet-rpc-api/marketplace_get_offers_ex.md +++ b/docs/build/rpc-api/wallet-rpc-api/marketplace_get_offers_ex.md @@ -1,6 +1,6 @@ Fetch wallet's offers listed in the marketplace with given filters -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -74,8 +74,8 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "lci": "Kolasin", "lco": "Montenegro", "ot": 0, - "p": "ZANO", - "pt": "zano", + "p": "LTHN", + "pt": "lethean", "security": "40fa6db923728b38962718c61b4dc3af1acaa1967479c73703e260dc3609c58d", "t": "USDT", "timestamp": 1712683857, @@ -116,4 +116,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "total_offers": Total number of offers. ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/marketplace_push_offer.md b/docs/build/rpc-api/wallet-rpc-api/marketplace_push_offer.md index d6896c8..eb1e342 100644 --- a/docs/build/rpc-api/wallet-rpc-api/marketplace_push_offer.md +++ b/docs/build/rpc-api/wallet-rpc-api/marketplace_push_offer.md @@ -1,6 +1,6 @@ Creates new offer and publish it on the blockchain -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -22,8 +22,8 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "lci": "Kolasin", "lco": "Montenegro", "ot": 0, - "p": "ZANO", - "pt": "zano", + "p": "LTHN", + "pt": "lethean", "security": "40fa6db923728b38962718c61b4dc3af1acaa1967479c73703e260dc3609c58d", "t": "USDT", "timestamp": 1712683857, @@ -76,4 +76,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_hash": Transaction hash ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/marketplace_push_update_offer.md b/docs/build/rpc-api/wallet-rpc-api/marketplace_push_update_offer.md index 1ba90d4..e8638fd 100644 --- a/docs/build/rpc-api/wallet-rpc-api/marketplace_push_update_offer.md +++ b/docs/build/rpc-api/wallet-rpc-api/marketplace_push_update_offer.md @@ -1,6 +1,6 @@ Updates existing offer that this wallet created, and publish updated version on the blockchain -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -23,8 +23,8 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "lci": "Kolasin", "lco": "Montenegro", "ot": 0, - "p": "ZANO", - "pt": "zano", + "p": "LTHN", + "pt": "lethean", "security": "40fa6db923728b38962718c61b4dc3af1acaa1967479c73703e260dc3609c58d", "t": "USDT", "timestamp": 1712683857, @@ -80,4 +80,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_hash": Transaction hash ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/mw_get_wallets.md b/docs/build/rpc-api/wallet-rpc-api/mw_get_wallets.md index ee86b68..9b07787 100644 --- a/docs/build/rpc-api/wallet-rpc-api/mw_get_wallets.md +++ b/docs/build/rpc-api/wallet-rpc-api/mw_get_wallets.md @@ -1,6 +1,6 @@ Get loaded wallets list, userful for multi-wallet API -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -24,13 +24,13 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "wallets": [{ "wallet_id": 2, "wi": { - "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "balances": [{ "asset_info": { "asset_id": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped ABC", + "full_name": "Lethean wrapped ABC", "hidden_supply": false, "meta_info": "{ \"some_arbitrary_field_name\": \"some arbitrary value\"}", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -89,4 +89,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "view_sec_key": View secret key ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/mw_select_wallet.md b/docs/build/rpc-api/wallet-rpc-api/mw_select_wallet.md index e12d40f..65b41bb 100644 --- a/docs/build/rpc-api/wallet-rpc-api/mw_select_wallet.md +++ b/docs/build/rpc-api/wallet-rpc-api/mw_select_wallet.md @@ -1,6 +1,6 @@ Select curent active wallet, after that all wallet RPC call would be addressed to this wallet -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/proxy_to_daemon.md b/docs/build/rpc-api/wallet-rpc-api/proxy_to_daemon.md index c5c0e96..5401609 100644 --- a/docs/build/rpc-api/wallet-rpc-api/proxy_to_daemon.md +++ b/docs/build/rpc-api/wallet-rpc-api/proxy_to_daemon.md @@ -1,6 +1,6 @@ Proxy call to daemon(node), might be not effective in some cases, so need to be carefull with use of it -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/register_alias.md b/docs/build/rpc-api/wallet-rpc-api/register_alias.md index e67b46e..da8f49a 100644 --- a/docs/build/rpc-api/wallet-rpc-api/register_alias.md +++ b/docs/build/rpc-api/wallet-rpc-api/register_alias.md @@ -1,6 +1,6 @@ Register an alias for the address -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -9,7 +9,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "method": "register_alias", "params": { "al": { - "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "alias": "zxdya6q6whzwqjkmtcsjpc3ku", "comment": "Society is never gonna make any progress until we all learn to pretend to like each other.", "tracking_key": "18bb94f69ed61b47b6556f3871b89dff8f9a6f4f798f706fd199b05ccf8ef20c" diff --git a/docs/build/rpc-api/wallet-rpc-api/register_gateway_address.md b/docs/build/rpc-api/wallet-rpc-api/register_gateway_address.md index 59b6e47..65b0e55 100644 --- a/docs/build/rpc-api/wallet-rpc-api/register_gateway_address.md +++ b/docs/build/rpc-api/wallet-rpc-api/register_gateway_address.md @@ -1,6 +1,6 @@ Register gateway address to be used in further transfers. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/search_for_transactions.md b/docs/build/rpc-api/wallet-rpc-api/search_for_transactions.md index 67f53b0..aa859ca 100644 --- a/docs/build/rpc-api/wallet-rpc-api/search_for_transactions.md +++ b/docs/build/rpc-api/wallet-rpc-api/search_for_transactions.md @@ -1,6 +1,6 @@ Search for transacrions in the wallet by few parameters(legacy version) -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -52,9 +52,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_a": false, "payment_id": "", "private_detailes": { - "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "a_pledge": 0, - "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "b_pledge": 0, "c": "", "t": "", @@ -72,7 +72,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mixing": false, "is_service": false, "payment_id": "00000000ff00ff00", - "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_addresses": ["iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"], "remote_aliases": ["roger"], "service_entries": [{ "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", @@ -114,9 +114,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_a": false, "payment_id": "", "private_detailes": { - "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "a_pledge": 0, - "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "b_pledge": 0, "c": "", "t": "", @@ -134,7 +134,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mixing": false, "is_service": false, "payment_id": "00000000ff00ff00", - "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_addresses": ["iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"], "remote_aliases": ["roger"], "service_entries": [{ "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", @@ -176,9 +176,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_a": false, "payment_id": "", "private_detailes": { - "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "a_pledge": 0, - "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "b_pledge": 0, "c": "", "t": "", @@ -196,7 +196,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mixing": false, "is_service": false, "payment_id": "00000000ff00ff00", - "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_addresses": ["iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"], "remote_aliases": ["roger"], "service_entries": [{ "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", @@ -241,7 +241,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_income": If trnasfer entrie is income (taken from native subtransfer) "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) - "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "is_service": Tells if this transaction is used as utility by one of Lethean services(contracts, ionic swaps, etc) "payment_id": HEX-encoded payment id blob, if it was present "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered @@ -279,7 +279,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_income": If trnasfer entrie is income (taken from native subtransfer) "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) - "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "is_service": Tells if this transaction is used as utility by one of Lethean services(contracts, ionic swaps, etc) "payment_id": HEX-encoded payment id blob, if it was present "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered @@ -317,7 +317,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_income": If trnasfer entrie is income (taken from native subtransfer) "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) - "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "is_service": Tells if this transaction is used as utility by one of Lethean services(contracts, ionic swaps, etc) "payment_id": HEX-encoded payment id blob, if it was present "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered @@ -342,4 +342,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "unlock_time": Unlock time of this transfer (if present) ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/search_for_transactions2.md b/docs/build/rpc-api/wallet-rpc-api/search_for_transactions2.md index 47e7014..89003e5 100644 --- a/docs/build/rpc-api/wallet-rpc-api/search_for_transactions2.md +++ b/docs/build/rpc-api/wallet-rpc-api/search_for_transactions2.md @@ -1,6 +1,6 @@ Search for transacrions in the wallet by few parameters -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -51,9 +51,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_a": false, "payment_id": "", "private_detailes": { - "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "a_pledge": 0, - "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "b_pledge": 0, "c": "", "t": "", @@ -69,7 +69,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mining": false, "is_mixing": false, "is_service": false, - "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_addresses": ["iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"], "remote_aliases": ["roger"], "service_entries": [{ "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", @@ -110,9 +110,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_a": false, "payment_id": "", "private_detailes": { - "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "a_pledge": 0, - "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "b_pledge": 0, "c": "", "t": "", @@ -128,7 +128,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mining": false, "is_mixing": false, "is_service": false, - "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_addresses": ["iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"], "remote_aliases": ["roger"], "service_entries": [{ "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", @@ -169,9 +169,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_a": false, "payment_id": "", "private_detailes": { - "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "a_pledge": 0, - "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_addr": "iTHN11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "b_pledge": 0, "c": "", "t": "", @@ -187,7 +187,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mining": false, "is_mixing": false, "is_service": false, - "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_addresses": ["iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY"], "remote_aliases": ["roger"], "service_entries": [{ "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", @@ -230,7 +230,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "height": Height of the block that included transaction(0 i transaction is unconfirmed) "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) - "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "is_service": Tells if this transaction is used as utility by one of Lethean services(contracts, ionic swaps, etc) "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered "service_entries": Additional entries that might be stored in transaction but not part of it's consensus @@ -265,7 +265,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "height": Height of the block that included transaction(0 i transaction is unconfirmed) "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) - "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "is_service": Tells if this transaction is used as utility by one of Lethean services(contracts, ionic swaps, etc) "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered "service_entries": Additional entries that might be stored in transaction but not part of it's consensus @@ -300,7 +300,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "height": Height of the block that included transaction(0 i transaction is unconfirmed) "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) - "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "is_service": Tells if this transaction is used as utility by one of Lethean services(contracts, ionic swaps, etc) "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered "service_entries": Additional entries that might be stored in transaction but not part of it's consensus @@ -324,4 +324,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "unlock_time": Unlock time of this transfer (if present) ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/send_ext_signed_asset_tx.md b/docs/build/rpc-api/wallet-rpc-api/send_ext_signed_asset_tx.md index 8bc14fa..1e1099e 100644 --- a/docs/build/rpc-api/wallet-rpc-api/send_ext_signed_asset_tx.md +++ b/docs/build/rpc-api/wallet-rpc-api/send_ext_signed_asset_tx.md @@ -1,6 +1,6 @@ Inserts externally made asset ownership signature into the given transaction and broadcasts it. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/sign_message.md b/docs/build/rpc-api/wallet-rpc-api/sign_message.md index 3b137cb..2dcbd16 100644 --- a/docs/build/rpc-api/wallet-rpc-api/sign_message.md +++ b/docs/build/rpc-api/wallet-rpc-api/sign_message.md @@ -1,6 +1,6 @@ Trivially sign base64 encoded data message using wallet spend key -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/sign_transfer.md b/docs/build/rpc-api/wallet-rpc-api/sign_transfer.md index ad72b0b..1089e00 100644 --- a/docs/build/rpc-api/wallet-rpc-api/sign_transfer.md +++ b/docs/build/rpc-api/wallet-rpc-api/sign_transfer.md @@ -1,6 +1,6 @@ Sign transaction with the wallet's keys -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/split_integrated_address.md b/docs/build/rpc-api/wallet-rpc-api/split_integrated_address.md index af9542a..58eec20 100644 --- a/docs/build/rpc-api/wallet-rpc-api/split_integrated_address.md +++ b/docs/build/rpc-api/wallet-rpc-api/split_integrated_address.md @@ -1,6 +1,6 @@ Decode integrated address -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -24,7 +24,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "result": { "payment_id": "1dfe5a88ff9effb3", - "standard_address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp" + "standard_address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY" } } ``` diff --git a/docs/build/rpc-api/wallet-rpc-api/store.md b/docs/build/rpc-api/wallet-rpc-api/store.md index 3edb423..c8c956a 100644 --- a/docs/build/rpc-api/wallet-rpc-api/store.md +++ b/docs/build/rpc-api/wallet-rpc-api/store.md @@ -1,6 +1,6 @@ Store wallet's data to file -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/submit_transfer.md b/docs/build/rpc-api/wallet-rpc-api/submit_transfer.md index 58f540a..66d9a47 100644 --- a/docs/build/rpc-api/wallet-rpc-api/submit_transfer.md +++ b/docs/build/rpc-api/wallet-rpc-api/submit_transfer.md @@ -1,6 +1,6 @@ Relay signed transaction over the network -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/sweep_bare_outs.md b/docs/build/rpc-api/wallet-rpc-api/sweep_bare_outs.md index 0b53893..844d818 100644 --- a/docs/build/rpc-api/wallet-rpc-api/sweep_bare_outs.md +++ b/docs/build/rpc-api/wallet-rpc-api/sweep_bare_outs.md @@ -1,6 +1,6 @@ Execute transactions needed be convert all bare(pre-zarcanum) outputs to post-zarcanum outputs. (Only outputs that have been created in Zarcanum era can participaet in staking) -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/sweep_below.md b/docs/build/rpc-api/wallet-rpc-api/sweep_below.md index 2bc23c6..327289f 100644 --- a/docs/build/rpc-api/wallet-rpc-api/sweep_below.md +++ b/docs/build/rpc-api/wallet-rpc-api/sweep_below.md @@ -1,6 +1,6 @@ Tries to transfer all coins with amount below the given limit to the given address -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -8,7 +8,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "method": "sweep_below", "params": { - "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "amount": 1000000000000, "fee": 10000000000, "mixin": 15, diff --git a/docs/build/rpc-api/wallet-rpc-api/transfer.md b/docs/build/rpc-api/wallet-rpc-api/transfer.md index 9b8284f..43c5e7a 100644 --- a/docs/build/rpc-api/wallet-rpc-api/transfer.md +++ b/docs/build/rpc-api/wallet-rpc-api/transfer.md @@ -1,6 +1,6 @@ Make new payment transaction from the wallet -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -10,7 +10,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "params": { "comment": "Thanks for the coffe", "destinations": [{ - "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "amount": 10000000000000, "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", "payment_id": 1020394 @@ -44,7 +44,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "mixin": Specifies number of mixins(decoys) that would be used to create input, actual for pre-zarcanum outputs, for post-zarcanum outputs instead of this option, number that is defined by network hard rules(15+) "payment_id": [deprecated] Legacy tx-wide hex-encoded payment_id, that normally used for user database by exchanges "push_payer": [deprecated] Reveal information about sender of this transaction, basically add sender address to transaction in encrypted way, so only receiver can see who sent transaction - "service_entries": Service entries that might be used by different apps that works on top of Zano network, not part of consensus + "service_entries": Service entries that might be used by different apps that works on top of Lethean network, not part of consensus "body": Hex-encoded body of the attachment "flags": Flags that help wallet to automatically process some properties of the attachment(combination of TX_SERVICE_ATTACHMENT_ENCRYPT_BODY=1, TX_SERVICE_ATTACHMENT_DEFLATE_BODY=2, TX_SERVICE_ATTACHMENT_ENCRYPT_BODY_ISOLATE_AUDITABLE=4,TX_SERVICE_ATTACHMENT_ENCRYPT_ADD_PROOF=8 ) "instruction": Instruction that make sence for this particular service @@ -72,4 +72,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_unsigned_hex": Has unsigned tx blob in hex encoding ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc-api/transfer_asset_ownership.md b/docs/build/rpc-api/wallet-rpc-api/transfer_asset_ownership.md index 7c9c5e4..7da01ab 100644 --- a/docs/build/rpc-api/wallet-rpc-api/transfer_asset_ownership.md +++ b/docs/build/rpc-api/wallet-rpc-api/transfer_asset_ownership.md @@ -1,6 +1,6 @@ Transfer asset ownership to a new public key. -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { diff --git a/docs/build/rpc-api/wallet-rpc-api/update_alias.md b/docs/build/rpc-api/wallet-rpc-api/update_alias.md index b3c2957..8a74a8c 100644 --- a/docs/build/rpc-api/wallet-rpc-api/update_alias.md +++ b/docs/build/rpc-api/wallet-rpc-api/update_alias.md @@ -1,6 +1,6 @@ Update an alias details/transwer alias ownership -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -9,7 +9,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "method": "update_alias", "params": { "al": { - "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "address": "iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY", "alias": "zxdya6q6whzwqjkmtcsjpc3ku", "comment": "Society is never gonna make any progress until we all learn to pretend to like each other.", "tracking_key": "18bb94f69ed61b47b6556f3871b89dff8f9a6f4f798f706fd199b05ccf8ef20c" diff --git a/docs/build/rpc-api/wallet-rpc-api/update_asset.md b/docs/build/rpc-api/wallet-rpc-api/update_asset.md index 9cf6441..7a10cfa 100644 --- a/docs/build/rpc-api/wallet-rpc-api/update_asset.md +++ b/docs/build/rpc-api/wallet-rpc-api/update_asset.md @@ -1,6 +1,6 @@ Update asset descriptor(you can change only owner so far) -URL: ```http:://127.0.0.1:11211/json_rpc``` +URL: ```http:://127.0.0.1:36944/json_rpc``` ### Request: ```json { @@ -11,7 +11,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "asset_descriptor": { "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped ABC", + "full_name": "Lethean wrapped ABC", "hidden_supply": false, "meta_info": "{ \"some_arbitrary_field_name\": \"some arbitrary value\"}", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -53,4 +53,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_id": Id of transaction that carries asset registration command, asset would be registered as soon as transaction got confirmed ``` -Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] diff --git a/docs/build/rpc-api/wallet-rpc.md b/docs/build/rpc-api/wallet-rpc.md index 15247e1..bbaf6fe 100644 --- a/docs/build/rpc-api/wallet-rpc.md +++ b/docs/build/rpc-api/wallet-rpc.md @@ -4,16 +4,16 @@ sidebar_position: 5 # Wallet RPC Mode -Zano command-line wallet application (simplewallet) can be run in RPC server mode. In this mode it can be controlled by RPC calls via HTTP. This makes possible to use it as a back end for an arbitrary service. +Lethean command-line wallet application (lethean-wallet-cli) can be run in RPC server mode. In this mode it can be controlled by RPC calls via HTTP. This makes possible to use it as a back end for an arbitrary service. In order to start the wallet in RPC server mode, a user needs the following: -1. Run zanod (the daemon application). +1. Run lethean-chain-node (the daemon application). -2. Run simplewallet with the following options: +2. Run lethean-wallet-cli with the following options: ```shell shell -simplewallet --wallet-file PATH_TO_WALLET_FILE --password PASSWORD --rpc-bind-ip RPC_IP --rpc-bind-port RPC_PORT --daemon-address DEAMON_ADDR:DAEMON_PORT +lethean-wallet-cli --wallet-file PATH_TO_WALLET_FILE --password PASSWORD --rpc-bind-ip RPC_IP --rpc-bind-port RPC_PORT --daemon-address DEAMON_ADDR:DAEMON_PORT ``` **where:** @@ -28,3 +28,4 @@ All examples below are given in assumption that the wallet application is runnin All amounts and balances are represented as unsigned integers and measured in atomic units — the smallest fraction of a coin. 1 coin is equal to 10^12 atomic units. + diff --git a/docs/build/testnet-resources/testnet-builds.md b/docs/build/testnet-resources/testnet-builds.md index 1d0deff..5ced697 100644 --- a/docs/build/testnet-resources/testnet-builds.md +++ b/docs/build/testnet-resources/testnet-builds.md @@ -1,34 +1,40 @@ -# Testnet builds +# Testnet Builds -A list of builds for the current Zano testnet +Current Lethean testnet binaries (v6.0.1): -``` ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA512 +### Linux x86_64 -Windows: -INST: https://build.zano.org/builds/zano-win-x64-develop-testnet-v2.2.0.459[d3912ff]-installer.exe -sha256: ee31419b2630a3818ee814f57d8568b284a12b21739ac008ab5f2bd0a82da873 +**Full package (daemon + wallet):** +[lethean-testnet-linux-x86_64-v6.0.1.tar.gz](https://downloads.lthn.io/lethean-testnet-linux-x86_64-v6.0.1.tar.gz) -ZIP: https://build.zano.org/builds/zano-win-x64-develop-testnet-v2.2.0.459[d3912ff].zip -sha256: 83459f3c1e237f53f09d6b2bbe2b6d3399fab50862a8689c07692a12ce400d89 +**Contents:** +- `lethean-testnet-chain-node` — blockchain daemon +- `lethean-testnet-wallet-cli` — wallet CLI / RPC server -macOS: -https://build.zano.org/builds/zano-macos-x64-develop-testnet-v2.2.0.459[d3912ff].dmg -sha256: a85539ef52aac7198dc9808b606aaf5221547397d9c0e25b0d84b6c53b4b9564 +### Quick start -Linux: -https://build.zano.org/builds/zano-linux-x64-develop-testnet-devtools-v2.2.0.459[d3912ff].AppImage -sha256: 60ba8b220488b75b47c1876526d5f867d0f8b9d5abf19649937c2839ae27ad11 ------BEGIN PGP SIGNATURE----- +```bash +wget https://downloads.lthn.io/lethean-testnet-linux-x86_64-v6.0.1.tar.gz +tar xzf lethean-testnet-linux-x86_64-v6.0.1.tar.gz +cd lethean-testnet-linux-x86_64-v6.0.1 -iHUEARYKAB0WIQSAlUHSyV95S5huh5+pK4bC95+XGgUCaaOKhAAKCRCpK4bC95+X -Goh7AQCZCujHxawJGp/RtNapaePRc5dwYLR7i8r0dCzcOHmmIQEA++5xi0n4+VHQ -7W+5AxLnMI86riWwUarJVVRi0ZHKCQM= -=XZJ5 ------END PGP SIGNATURE----- +# Start daemon (connects to seed node) +./lethean-testnet-chain-node --data-dir ./data --add-priority-node --use-only-priority-nodes 10.69.69.165:46942 -updated at 2026-03-01 00:40 UTC +# Create wallet (new terminal) +./lethean-testnet-wallet-cli --generate-new-wallet my-wallet --daemon-address 127.0.0.1:36941 ``` -[How to verify downloaded builds](https://docs.zano.org/docs/build/how-to-verify-downloaded-builds/) +### Testnet info + +| Property | Value | +|----------|-------| +| Seed node | `10.69.69.165:46942` | +| Explorer | [explorer.lthn.io](https://explorer.lthn.io) | +| Docs | [testnet-docs.lthn.io](https://testnet-docs.lthn.io) | +| Trade | [trade.lthn.io](https://trade.lthn.io) | +| Full guide | [downloads.lthn.io/testnet-guide.html](https://downloads.lthn.io/testnet-guide.html) | + +### Other platforms + +macOS and Windows builds are pending. The testnet daemon can be [built from source](/docs/build/building-from-sources) on any platform with C++17 support. diff --git a/docs/build/testnet-resources/testnet-faucet.md b/docs/build/testnet-resources/testnet-faucet.md index 52a1414..c22bd1b 100644 --- a/docs/build/testnet-resources/testnet-faucet.md +++ b/docs/build/testnet-resources/testnet-faucet.md @@ -1,14 +1,15 @@ # Testnet faucet -Need testnet ZANO coins for development and testing? Use the official testnet faucet: +Need testnet LTHN coins for development and testing? Use the official testnet faucet: -**[https://faucet.testnet.zano.org](https://faucet.testnet.zano.org)** +**[https://faucet.testnet.lethean.io](https://faucet.testnet.lethean.io)** -Enter your testnet wallet address to receive free testnet ZANO. These coins have no real value and are meant for testing purposes only. +Enter your testnet wallet address to receive free testnet LTHN. These coins have no real value and are meant for testing purposes only. ## Getting a testnet wallet address 1. Download a [testnet build](./testnet-builds.md) -2. Launch the Zano application — it will automatically connect to the testnet network +2. Launch the Lethean application — it will automatically connect to the testnet network 3. Copy your wallet address from the application 4. Paste it into the faucet page and request coins + diff --git a/docs/build/verified-features.md b/docs/build/verified-features.md new file mode 100644 index 0000000..295597f --- /dev/null +++ b/docs/build/verified-features.md @@ -0,0 +1,398 @@ +--- +sidebar_position: 99 +--- + +# Verified Features + +Every feature listed here has been tested against the live Lethean testnet with real output captured. This page serves as proof-of-work for other agents and developers. + +**Testnet height at time of testing:** 10,600–10,824 + +--- + +## Chain (Layer 0) + +### Daemon RPC — getinfo +```json +// curl -X POST http://127.0.0.1:46941/json_rpc -d '{"jsonrpc":"2.0","method":"getinfo"}' +{ + "height": 10824, + "pow_difficulty": 312639, + "pos_difficulty": "1", + "pos_allowed": true, + "alias_count": 0, + "tx_count": 0, + "is_hardfok_active": [true, true, true, true, false, false, false] +} +``` +**Status:** HF0-HF3 active. HF4 pending at height 11,000. + +### Block Production — getblocktemplate +```json +// curl -X POST http://127.0.0.1:46941/json_rpc -d '{"jsonrpc":"2.0","method":"getblocktemplate","params":{"wallet_address":"iTHNUNiuu3..."}}' +{ + "height": 10670, + "difficulty": 312639, + "status": "OK" +} +``` +**Status:** Templates generated, mining via `/start_mining` HTTP endpoint confirmed working. + +### Mining +```bash +# Start mining: +curl -X POST http://127.0.0.1:46941/start_mining \ + -H 'Content-Type: application/json' \ + -d '{"miner_address":"iTHNUNiuu3...","threads_count":4}' +# Response: {"status":"OK"} +# Blocks confirmed at height 10,641+ with 1 LTHN reward each. +``` + +### Supply Verification +``` +Height 10,673: total supply = 10,010,673 LTHN + = 10,000,000 premine + 10,673 blocks × 1 LTHN + Verified: actual matches expected exactly. +``` + +--- + +## Wallet (Layer 1) + +### Address Generation +``` +Address: iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY +Prefix: iTHN (standard address) +``` + +### Balance +```json +// getbalance response at height 10,824: +{ "balance": 172000000000000, "unlocked_balance": 163000000000000 } +// 172 LTHN total, 163 unlocked +``` + +### Integrated Addresses (Exchange Payment Tracking) +```json +// make_integrated_address with payment_id "cafebabe12345678" +{ + "integrated_address": "iTHnNj4dWPHP1yy8xH2y5iQa...", + "payment_id": "cafebabe12345678" +} +// Prefix: iTHn (lowercase n = integrated) +``` +**Status:** Working. BTCPay plugin uses this for per-invoice tracking. + +### Bare Outputs +```json +// get_bare_outs_stats +{ + "total_bare_outs": 172, + "total_amount": 172000000000000, + "txs_count": 9, + "expected_total_fee": 90000000000 +} +``` +**Status:** 172 bare outputs (pre-Zarcanum). Sweep requires HF4 to convert to ZC format. + +--- + +## Alias System (Layer 1 Identity) + +### Registration Cost +```json +// get_alias_reward for "charon" (6 chars) +{ "reward": 100, "status": "OK" } +// Near-zero on current chain. Source code changed to 1 LTHN (pending rebuild). +``` + +### Alias Lookup +```json +// get_alias_details for "lthn" +{ "alias_details": { "address": "", "comment": "", "tracking_key": "" }, "status": "NOT_FOUND" } +``` +**Status:** RPC works. Registration requires HF4 (Zarcanum transaction format). + +### Comment Format (v=lthn1) +``` +v=lthn1;hns=charon.lthn;type=gateway;cap=vpn,dns,proxy +``` +Parsed by: `alias-dns-bridge/index.js`, `lthn-app-vpn/lib/sdp_chain.py`, `lvpn/lib/chain_discovery.py` + +--- + +## Native Asset +```json +// get_asset_info for native LTHN +{ + "asset_id": "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a", + "ticker": "LTHN", + "full_name": "Lethean", + "decimal_point": 12, + "hidden_supply": false +} +``` + +--- + +## Libraries + +### lethean_web3 (TypeScript) — 10/10 tests +``` +validateTokensInput: 3/3 pass +fetchDaemon("getinfo"): height 10347 ✓ +getAssetsList: 0 assets (empty chain) ✓ +getAliasDetails("lthn"): NOT_FOUND ✓ +fetchWallet("getaddress"): iTHN prefix ✓ +getBalances: LTHN=0 ✓ +getTxs: 0 transfers ✓ +validateWallet: bad sig rejected ✓ +``` +**Bugs fixed:** ESM module resolution, `getAssetsList` crash on empty chain. + +### wallet-address-validator — 73/73 tests +``` +All 4 prefix variants validated: + iTHN (f7d507) — standard ✓ + iTHn (f7d537) — integrated ✓ + iThn (f7e022) — auditable integrated ✓ + iThN (f7dff301) — auditable ✓ +``` + +### zano-utils-js — 34/34 tests +``` +Ed25519 key derivation, stealth addresses, tx decoding, +Base58, payment ID encryption — all passing. +ZANO_HDS_* protocol constants preserved (daemon compatibility). +``` + +### lethean-util (C++ native addon) — built and tested +```javascript +// Address validation against live chain: +cn.is_address_valid(Buffer.from("iTHNUNiuu3...")) // true +// Block template conversion: +cn.convert_blob(templateBuffer) // 81 bytes +// Available: convert_blob, address_decode, get_pow_hash, +// get_blob_from_block_template, is_address_valid, +// get_merged_mining_nonce_size, get_id_hash, +// get_hash_from_block_template_with_extra +``` + +### BTCPay Plugin — 23/23 unit tests +``` +LetheanMoney, LetheanConfiguration, LetheanPaymentData, +LetheanPaymentViewModel, ParseStringConverter, LetheanPollEvent +— all passing. CryptoCode="LTHN", Divisibility=12. +Port-agnostic (reads env vars BTCPAY_LTHN_DAEMON_URI). +``` + +--- + +## VPN Gateway (Layer 4) + +### WireGuard Tunnel +``` +Interface: wg-testpeer1 + public key: V7msQJ/AuFXXwrf/H5DNtkLnAKy/UTk4im3gKbDsDUs= + endpoint: 10.69.69.165:51820 + latest handshake: 8 seconds ago + transfer: 92 B received, 180 B sent + +Ping to gateway (10.13.13.1): 0.179ms, 0% packet loss +``` +**Status:** WireGuard tunnel established, packets flowing, handshake verified. + +### Gateway Bridge — Bandwidth Metering +```json +// gateway_bridge.py output (reads WireGuard + chain simultaneously): +{ + "chain_height": 10818, + "total_peers": 2, + "active_peers": 1, + "total_bandwidth": 1984, + "peers": [ + { "pubkey": "V7msQJ/...", "rx_bytes": 1192, "tx_bytes": 792, "active": true }, + { "pubkey": "Twm90A/...", "rx_bytes": 0, "tx_bytes": 0, "active": false } + ] +} +``` +**Status:** Bridge reads both chain state and VPN peer stats. This data feeds the revenue split. + +--- + +## UEPS Consent Tokens (Layer 2) + +### JavaScript (Ed25519) +``` +Created: ConsentToken{iTHNUNiuu3→iTHNQGNCbu L2(Standard) caps=[vpn,dns] scope=charon.lthn valid=true} +Signature valid: true +Wire size: 644 bytes +Roundtrip verify: true +``` + +### Python (HMAC-SHA256) +``` +Created: Consent(iTHNUNiuu3→iTHNQGNCbu L2/Standard caps=[vpn,dns] scope=charon.lthn valid) +Wire size: 556 bytes +HMAC verify: True +``` + +--- + +## Services Running + +| Service | Port | Status | URL | +|---------|------|--------|-----| +| Daemon RPC | 46941 | Active | — | +| Wallet RPC | 46944 | Active | — | +| Full Explorer | 3335 | Active | explorer.lthn.io | +| Simple Explorer | 8099 | Active | — | +| Documentation | 8098 | Active | testnet-docs.lthn.io | +| Trade API | 3336 | Active | trade.lthn.io/api | +| Trade Frontend | 3337 | Active | trade.lthn.io | +| Downloads | 8097 | Active | downloads.lthn.io | +| WireGuard VPN | 51820/udp | Active | — | + +## Explorer DB Sync +``` +Daemon height: 10,811 | DB blocks: 10,811 | Gap: 0 +``` + +--- + +## HNS Sidechain (ITNS) + +### HSD Running (regtest) +``` +Version: 8.99.0 +Network: regtest +Port: 14037 (node), 14039 (wallet) +Genesis written, chain synced. +``` + +### Name Registration — Full Auction Cycle +``` +Name: "lethean" + 1. OPEN: tx=46cd4d0e4519913b7498... (state → OPENING) + 2. BID: tx=e050121bc06571493c7e... (0.1 HNS bid, 0.2 HNS blind) + 3. REVEAL: tx=2804266e10e27d901b3b... + 4. UPDATE: tx=9fbe9c27751d7f3e9ebf... (DNS records set) + 5. State: CLOSED (= owned) +``` + +### DNS Records On-Chain +```json +// getnameresource("lethean") +{ + "records": [ + { "type": "GLUE4", "ns": "ns1.lethean.", "address": "10.69.69.165" }, + { "type": "TXT", "txt": [ + "v=lthn1 gateway=true cap=vpn,dns,proxy lthn-address=iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY" + ]} + ] +} +``` +**Status:** Name registered with GLUE4 + TXT record containing main chain address. This is the two-way binding between HNS naming and Lethean chain identity. + +### Services on HSD +| Service | Port | Status | +|---------|------|--------| +| HSD Node | 14037 | Active (regtest) | +| HSD Wallet | 14039 | Active | + +--- + +## Pending (HF4 at height 11,000) + +These features are implemented in code but require HF4 (Zarcanum) to activate on the chain: + +- [ ] `sweep_bare_outs` — convert 172 bare outputs to ZC format +- [ ] `register_alias` — register "charon" with v=lthn1 comment +- [ ] `transfer` — send LTHN between wallets +- [ ] `deploy_new_asset` — create confidential token +- [ ] `escrow` — trustless service payment contract +- [ ] `ionic_swap` — peer-to-peer atomic asset exchange +- [ ] Alias-DNS bridge end-to-end (chain alias → HNS zone) +- [ ] VPN payment flow (integrated address → session activation) + +## BTCPay Server Integration + +All 5 RPC calls used by the BTCPay Lethean plugin verified against testnet: + +``` +1. getinfo → daemon_network_state=2 (synced) ✓ +2. make_integrated → iTHn... address with unique payment_id ✓ +3. get_bulk_payments → payment detection (0 payments, correct) ✓ +4. getbalance → 288 LTHN (279 unlocked) ✓ +5. get_wallet_info → non-watch-only, height 10928 ✓ +``` + +Configuration: +``` +BTCPAY_LTHN_DAEMON_URI=http://127.0.0.1:46941 +BTCPAY_LTHN_WALLET_DAEMON_URI=http://127.0.0.1:46944 +``` + +Plugin: 23/23 unit tests pass. CryptoCode="LTHN", Divisibility=12. + +## Post-HF4 Features (verified at height 11,025) + +### Alias Registration +``` +6 aliases registered: @charon, @explorer, @gateway, @lethean, @testnet, @trading +Cost: ~0.0000001 LTHN per alias (source changed to 1 LTHN, pending rebuild) +Comment format: v=lthn1;type=gateway;cap=vpn,dns,proxy (HNS name derived from alias) +``` + +### Transfer to Alias +```bash +# Send LTHN to @aliasname — wallet resolves automatically +transfer(destinations: [{address: "@charon", amount: 100000000000}]) +# Result: TX 938665701d84c854... CONFIRMED +``` +Works for self-transfers too — useful for wallet unstick. + +### Reverse Alias Lookup +```bash +get_alias_by_address("iTHNUNiuu3...") → 6 aliases returned +``` +Enables: "who owns this address?" queries for gateway verification. + +### SWAP Pipeline +``` +request-swap.sh --tx deadbeef --amount 5000 --address iTHNxxx + → Claim submitted (ID: 6d95365d) + → Auto-approved + → 50 LTHN dispatched (TX: 41fefff9...) +``` + +### Wallet Unstick +``` +request-swap.sh --unstick --count 10 + → 10/10 self-transfers succeeded + → Creates fresh inputs for batch operations +``` + +### Edge Cases Tested +| Test | Result | +|------|--------| +| Send to @alias | Works — wallet resolves | +| Send to @nonexistent | Clean error: WRONG_ADDRESS | +| Zero amount | Clean error: fee too low | +| Self-transfer via @alias | Works — creates fresh input | +| Reverse lookup by address | Returns all aliases for address | +| Batch registration | 1 per maturity cycle (30 blocks) | +| Cross-chain verify | 4/6 chain↔HNS bindings VERIFIED | + +## CryptoNote Input Maturity (Known Behaviour) + +Ring signatures lock ALL wallet inputs for 10 blocks after each transaction. This means: +- **1 operation per ~20 minutes** from a single wallet +- Batch operations (registering many aliases, processing many SWAP claims) need either: + 1. Wait 10 blocks between each operation + 2. Use multiple wallet files (one per purpose) + 3. Pre-fragment with self-transfers (creates more independent outputs, but still locks per-tx) + +This is CryptoNote architecture, not a bug. Normal users doing 1-2 transactions per session are unaffected. High-throughput services (BTCPay, SWAP processor) should use dedicated wallets. + +**Tested:** Attempted 5 rapid alias registrations — 1 succeeded, 4 failed on locked inputs. Confirmed 10-block maturity cycle. diff --git a/docs/build/zano-companion/_category_.json b/docs/build/zano-companion/_category_.json index f6b144c..e1d3747 100644 --- a/docs/build/zano-companion/_category_.json +++ b/docs/build/zano-companion/_category_.json @@ -1,5 +1,6 @@ { - "label": "Zano Companion", + "label": "Lethean Companion", "position": 5 } + diff --git a/docs/build/zano-companion/accept-ionic-swap-proposal.md b/docs/build/zano-companion/accept-ionic-swap-proposal.md index 4f7634a..a63e28a 100644 --- a/docs/build/zano-companion/accept-ionic-swap-proposal.md +++ b/docs/build/zano-companion/accept-ionic-swap-proposal.md @@ -7,7 +7,7 @@ In your web app, call extension Ionic Swap proposal method, while extension is o ### Request ```jsx -window.zano.request( +window.lethean.request( 'IONIC_SWAP_ACCEPT', { hex_raw_proposal: "" @@ -35,4 +35,4 @@ where: where: -- result_tx_id - Result transaction ID \ No newline at end of file +- result_tx_id - Result transaction ID diff --git a/docs/build/zano-companion/get-alias-details.md b/docs/build/zano-companion/get-alias-details.md index 7dcbdb1..b72bb91 100644 --- a/docs/build/zano-companion/get-alias-details.md +++ b/docs/build/zano-companion/get-alias-details.md @@ -7,7 +7,7 @@ In your web app, call extension Get Alias Details method, while extension is on. ### Request ```jsx -window.zano.request( +window.lethean.request( 'GET_ALIAS_DETAILS', { alias: "" @@ -42,4 +42,4 @@ where: - "address": Address of the alias. - "comment": Arbitrary comment (optional). - "tracking_key": View secret key of the corresponding address (optional). -- "status": Status of the call. \ No newline at end of file +- "status": Status of the call. diff --git a/docs/build/zano-companion/get-wallet-balance.md b/docs/build/zano-companion/get-wallet-balance.md index 410e988..3984e7c 100644 --- a/docs/build/zano-companion/get-wallet-balance.md +++ b/docs/build/zano-companion/get-wallet-balance.md @@ -7,7 +7,7 @@ In your web app, call extension Get Wallet Balance method, while extension is on ### Request ```jsx -window.zano.request('GET_WALLET_BALANCE'); +window.lethean.request('GET_WALLET_BALANCE'); ``` ### Response @@ -23,7 +23,7 @@ window.zano.request('GET_WALLET_BALANCE'); "asset_id": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", "current_supply": 500000000000000000, "decimal_point": 12, - "full_name": "Zano wrapped USD", + "full_name": "Lethean wrapped USD", "hidden_supply": false, "meta_info": "Stable and private", "owner": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", @@ -58,4 +58,4 @@ where: - "awaiting_out": Unconfirmed amount for send - "total": Total coins available(including locked) - "unlocked": Unlocked coins available(the ones that could be used right now) -- "unlocked_balance": Native coins total unlocked amount \ No newline at end of file +- "unlocked_balance": Native coins total unlocked amount diff --git a/docs/build/zano-companion/get-wallet-data.md b/docs/build/zano-companion/get-wallet-data.md index 4107d36..9a4545d 100644 --- a/docs/build/zano-companion/get-wallet-data.md +++ b/docs/build/zano-companion/get-wallet-data.md @@ -7,7 +7,7 @@ In your web app, call extension Get Wallet Data method, while extension is on. ### Request ```jsx -window.zano.request('GET_WALLET_DATA'); +window.lethean.request('GET_WALLET_DATA'); ``` ### Response @@ -43,4 +43,4 @@ window.zano.request('GET_WALLET_DATA'); "unlockedBalance": "" }] } -} \ No newline at end of file +} diff --git a/docs/build/zano-companion/get-whitelist.md b/docs/build/zano-companion/get-whitelist.md index 78cdb97..919504f 100644 --- a/docs/build/zano-companion/get-whitelist.md +++ b/docs/build/zano-companion/get-whitelist.md @@ -1,13 +1,13 @@ # Get Whitelist -Returns [whitelisted assets](https://api.zano.org/assets_whitelist.json). +Returns [whitelisted assets](https://api.lethean.io/assets_whitelist.json). In your web app, call extension Get Whitelist method, while extension is on. ### Request ```jsx -window.zano.request('GET_WHITELIST'); +window.lethean.request('GET_WHITELIST'); ``` ### Response @@ -17,8 +17,8 @@ window.zano.request('GET_WHITELIST'); "data": [{ "asset_id": "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a", "decimal_point": 12, - "full_name": "Zano", - "ticker": "ZANO" + "full_name": "Lethean", + "ticker": "LTHN" }] } ``` @@ -28,4 +28,4 @@ where: - asset_id - ID of the asset - decimal_point - Decimal point of the asset - full_name - Full Name of the asset -- ticker - Ticker of the asset \ No newline at end of file +- ticker - Ticker of the asset diff --git a/docs/build/zano-companion/ionic-swap-proposal.md b/docs/build/zano-companion/ionic-swap-proposal.md index 5a2ebe1..ebe000d 100644 --- a/docs/build/zano-companion/ionic-swap-proposal.md +++ b/docs/build/zano-companion/ionic-swap-proposal.md @@ -7,7 +7,7 @@ In your web app, call extension Ionic Swap proposal method, while extension is o ### Request ```jsx -window.zano.request( +window.lethean.request( 'IONIC_SWAP', { destinationAddress: "", @@ -43,4 +43,4 @@ where: where: -- hex_raw_proposal - Hex-encoded proposal raw data(encrypted with common shared key). Includes half-created transaction template and some extra information that would be needed counterparty to finialize and sign transaction \ No newline at end of file +- hex_raw_proposal - Hex-encoded proposal raw data(encrypted with common shared key). Includes half-created transaction template and some extra information that would be needed counterparty to finialize and sign transaction diff --git a/docs/build/zano-companion/message-sign.md b/docs/build/zano-companion/message-sign.md index 69ee3b9..b83001e 100644 --- a/docs/build/zano-companion/message-sign.md +++ b/docs/build/zano-companion/message-sign.md @@ -1,13 +1,13 @@ # Message Sign -Usage of Zano Extension message sign. +Usage of Lethean Extension message sign. 1. In your web app, call extension sign method, while extension is on. ### Request ```jsx -window.zano.request('REQUEST_MESSAGE_SIGN', {message}, timeout); +window.lethean.request('REQUEST_MESSAGE_SIGN', {message}, timeout); ``` where: @@ -35,4 +35,4 @@ where: 2. As the result of method call, get signature and public key. -3. Validate signature with validate_signature daemon method (either pkey or alias can be passed to daemon method alternatively). validate_signature method description: [https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/validate_signature](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/validate_signature). You might also need to use get_alias_by_address method: [https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address). \ No newline at end of file +3. Validate signature with validate_signature daemon method (either pkey or alias can be passed to daemon method alternatively). validate_signature method description: [https://testnet-docs.lthn.io/docs/build/rpc-api/daemon-rpc-api/validate_signature](https://testnet-docs.lthn.io/docs/build/rpc-api/daemon-rpc-api/validate_signature). You might also need to use get_alias_by_address method: [https://testnet-docs.lthn.io/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address](https://testnet-docs.lthn.io/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address). diff --git a/docs/build/zano-trade-api/_category_.json b/docs/build/zano-trade-api/_category_.json index 311571b..5a9f27c 100644 --- a/docs/build/zano-trade-api/_category_.json +++ b/docs/build/zano-trade-api/_category_.json @@ -1,3 +1,4 @@ { - "label": "Zano trade API" + "label": "Lethean trade API" } + diff --git a/docs/build/zano-trade-api/apply-for-matched-order/apply-for-matched-order.md b/docs/build/zano-trade-api/apply-for-matched-order/apply-for-matched-order.md index 11ce6d7..0c0a6fd 100644 --- a/docs/build/zano-trade-api/apply-for-matched-order/apply-for-matched-order.md +++ b/docs/build/zano-trade-api/apply-for-matched-order/apply-for-matched-order.md @@ -19,7 +19,7 @@ ``` >Explanation of Fields: ->- to get `hex_raw_proposal` create [ionic swap proposal](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal/) via Zano wallet API; +>- to get `hex_raw_proposal` create [ionic swap proposal](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal/) via Lethean wallet API; >- hex_raw_proposal - Hex-encoded proposal raw data(encrypted with common shared key). Includes half-created transaction template and some extra information that would be needed counterparty to finialize and sign transaction #### Response: ```typescript @@ -27,4 +27,4 @@ success: boolean; data?: string // error message } -``` \ No newline at end of file +``` diff --git a/docs/build/zano-trade-api/overview/overview.md b/docs/build/zano-trade-api/overview/overview.md index 2430516..ab4f268 100644 --- a/docs/build/zano-trade-api/overview/overview.md +++ b/docs/build/zano-trade-api/overview/overview.md @@ -1,9 +1,24 @@ -# Trade API for custom bots +# Trade API for Custom Bots + +The Lethean Trade DEX provides a REST API for building trading bots and custom integrations. ## Resources -- [Zano Trade Dex](https://trade.zano.org) -- [Zano Documentation](https://docs.zano.org) -- [Ionic Swaps Overview](https://docs.zano.org/docs/build/confidential-assets/ionic-swaps) +- [Lethean Trade DEX](https://trade.lthn.io) +- [Lethean Documentation](https://testnet-docs.lthn.io) +- [Ionic Swaps Overview](/docs/build/confidential-assets/ionic-swaps) -## Rest API ENDPOINTS -**Base URL** - https://api.trade.zano.org/ \ No newline at end of file +## REST API Endpoints + +**Testnet Base URL:** `https://trade.lthn.io/api/` + +**Local development:** `http://127.0.0.1:3336/api/` + +### Get config (currencies) + +```bash +curl https://trade.lthn.io/api/config +``` + +Returns available currencies and their asset IDs. The native LTHN currency is auto-detected from the blockchain. + +> **Verified:** Trade API running on testnet, returns `LTHN` currency with asset_id `d6329b5b...` and `decimal_point: 12`. diff --git a/docs/build/zano-trade-api/ping-activity-checker/ping-activity-checker.md b/docs/build/zano-trade-api/ping-activity-checker/ping-activity-checker.md index efb51f0..755d5fb 100644 --- a/docs/build/zano-trade-api/ping-activity-checker/ping-activity-checker.md +++ b/docs/build/zano-trade-api/ping-activity-checker/ping-activity-checker.md @@ -2,7 +2,7 @@ > *You should call this method every 10 seconds to keep the `instant` icon active, so users know that your bot will accept the order immediately.* -> ![instant icon](../../../../static/img/build/zano-trade-api/ping-activity-checker/instant.jpg) +> ![instant icon](../../../../static/img/build/lethean-trade-api/ping-activity-checker/instant.jpg) - **METHOD**: POST - **PATH**: `/api/dex/renew-bot` @@ -19,4 +19,4 @@ ```typescript sucess: boolean; data?: string // error message -``` \ No newline at end of file +``` diff --git a/docs/build/zano-trade-api/trade-api/trade-api.md b/docs/build/zano-trade-api/trade-api/trade-api.md index 68612be..83407ea 100644 --- a/docs/build/zano-trade-api/trade-api/trade-api.md +++ b/docs/build/zano-trade-api/trade-api/trade-api.md @@ -16,7 +16,7 @@ ``` >Explanation of Fields: ->- To get ```data``` you should [sign some message using Zano wallet](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/sign_message/) (random string) +>- To get ```data``` you should [sign some message using Lethean wallet](https://testnet-docs.lthn.io/docs/build/rpc-api/wallet-rpc-api/sign_message/) (random string) #### Response: ```typescript @@ -24,4 +24,4 @@ success: boolean; data?: string // error message } -``` \ No newline at end of file +``` diff --git a/docs/code/overview.md b/docs/code/overview.md index dfd0622..9c82083 100644 --- a/docs/code/overview.md +++ b/docs/code/overview.md @@ -2,8 +2,9 @@ sidebar_position: 1 --- -# Codebase documents Zano +# Codebase documents Lethean ## Different serialization types -Zano serialization [explained](serialization-types.md) +Lethean serialization [explained](serialization-types.md) + diff --git a/docs/code/serialization-types.md b/docs/code/serialization-types.md index ee54724..30f4076 100644 --- a/docs/code/serialization-types.md +++ b/docs/code/serialization-types.md @@ -1,6 +1,6 @@ -# Serialization Types in the Zano Codebase +# Serialization Types in the Lethean Codebase -In the Zano codebase you may encounter a concept called a **serialization map**. In fact, you will see three different serialization mechanisms used to store C++ objects, and some structures even contain all three maps side by side, each following a different principle. +In the Lethean codebase you may encounter a concept called a **serialization map**. In fact, you will see three different serialization mechanisms used to store C++ objects, and some structures even contain all three maps side by side, each following a different principle. Here is an example of declaration of **asset_descriptor_base** structure, that includes 3 different serialization maps. ``` struct asset_descriptor_base @@ -57,7 +57,7 @@ Here is an example of declaration of **asset_descriptor_base** structure, that i KV_SERIALIZE(current_supply) DOC_DSCR("Currently emitted supply for the given asset (ignored for REGISTER operation).") DOC_EXMP(500000000000000000) DOC_END KV_SERIALIZE(decimal_point) DOC_DSCR("Decimal point.") DOC_EXMP(12) DOC_END KV_SERIALIZE(ticker) DOC_DSCR("Ticker associated with the asset.") DOC_EXMP("ZABC") DOC_END - KV_SERIALIZE(full_name) DOC_DSCR("Full name of the asset.") DOC_EXMP("Zano wrapped ABC") DOC_END + KV_SERIALIZE(full_name) DOC_DSCR("Full name of the asset.") DOC_EXMP("Lethean wrapped ABC") DOC_END KV_SERIALIZE(meta_info) DOC_DSCR("Any other information associated with the asset, by default in a json format.") DOC_EXMP("{ \"some_arbitrary_field_name\": \"some arbitrary value\"}") DOC_END KV_SERIALIZE_POD_AS_HEX_STRING(owner) DOC_DSCR("Owner's key, used only for EMIT and UPDATE validation, can be changed by transferring asset ownership.") DOC_EXMP("f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8") DOC_END KV_SERIALIZE(hidden_supply) DOC_DSCR("This field is reserved for future use and will be documented later.") DOC_END @@ -65,19 +65,19 @@ Here is an example of declaration of **asset_descriptor_base** structure, that i END_KV_SERIALIZE_MAP() }; ``` -The Zano project relies on three distinct serialization mechanisms, each chosen for the layer of the system in which it excels. This document explains why Zano employs three distinct serialization methods and clarifies the specific purpose of each one. +The Lethean project relies on three distinct serialization mechanisms, each chosen for the layer of the system in which it excels. This document explains why Lethean employs three distinct serialization methods and clarifies the specific purpose of each one. ## 1  Deterministic Serialization **Deterministic serialization lies at the heart of the blockchain core.** (starts from BEGIN_VERSIONED_SERIALIZE) Every cryptographic object — whether it is a transaction, a block header or any other structures that is a part of currency protocol — is encoded with this method. The defining guarantee is simple yet crucial: if a structure is read from a byte buffer and immediately written back, the second buffer will be **bit‑for‑bit identical** to the first, regardless of the binary or software version that performed the operation. Because of this property, cryptographic hashes computed over the data remain stable across platforms and releases, ensuring consensus integrity. -Although the implementation borrows the conceptual pattern of *Boost.Serialization*, it deliberately supports only the handful of C++ types actually used inside Zano. This focused scope keeps the code compact, so serializing a block or transaction is quite fast. The very same serialization is also used by the on‑disk database, due to it's performance properties compared to boost serialization. +Although the implementation borrows the conceptual pattern of *Boost.Serialization*, it deliberately supports only the handful of C++ types actually used inside Lethean. This focused scope keeps the code compact, so serializing a block or transaction is quite fast. The very same serialization is also used by the on‑disk database, due to it's performance properties compared to boost serialization. A small, developer‑friendly addition is a **one‑way JSON exporter**. When debugging, an object can be dumped to formatted JSON for human inspection. The reverse operation (JSON → object) is intentionally not supported, preserving the deterministic path. ## 2  Key–Value Serialization -**Key–value serialization powers all network protocols in Zano and the wider CryptoNote family.**(starts from BEGIN_KV_SERIALIZE_MAP) Its design revolves around a two‑stage pipeline. First, a C++ object is unpacked into an intermediate key–value store where every field is addressed by name. Only then is the store linearized into a byte stream for transport. The reverse path—byte stream → store → C++ object—follows the same steps in reverse order. +**Key–value serialization powers all network protocols in Lethean and the wider CryptoNote family.**(starts from BEGIN_KV_SERIALIZE_MAP) Its design revolves around a two‑stage pipeline. First, a C++ object is unpacked into an intermediate key–value store where every field is addressed by name. Only then is the store linearized into a byte stream for transport. The reverse path—byte stream → store → C++ object—follows the same steps in reverse order. This indirection pays dividends in compatibility. When a newer release introduces an extra field, older nodes simply skip the unfamiliar key during deserialization, while newer nodes treat missing keys as default values. Thanks to this behaviour, **forward and backward compatibility come for free**, without version gates or special‑case code. @@ -85,9 +85,10 @@ Because the store is already structured as named fields, it can be re‑encoded ## 3  Boost Serialization -The third and final mechanism is the well‑known **Boost.Serialization** library.(starts from BEGIN_BOOST_SERIALIZATION) It is neither trimmed nor specialized; it remains precisely because it can **handle virtually any C++ type**, including sophisticated containers such as `boost::variant` and `boost::any`. Zano employs this flexibility where it matters most: when the wallet needs to persist its entire state to disk. The wallet’s object graph is complex and evolves frequently, and Boost.Serialization allows developers to extend it with minimal boilerplate while preserving backward compatibility of the saved files. +The third and final mechanism is the well‑known **Boost.Serialization** library.(starts from BEGIN_BOOST_SERIALIZATION) It is neither trimmed nor specialized; it remains precisely because it can **handle virtually any C++ type**, including sophisticated containers such as `boost::variant` and `boost::any`. Lethean employs this flexibility where it matters most: when the wallet needs to persist its entire state to disk. The wallet’s object graph is complex and evolves frequently, and Boost.Serialization allows developers to extend it with minimal boilerplate while preserving backward compatibility of the saved files. ## Putting It All Together -**Each serializer lives where it provides the most benefit.** Deterministic serialization gives the blockchain core the immutability it requires; key–value serialization lets network messages and RPC calls evolve gracefully; Boost.Serialization offers a pragmatic solution for persisting wallet state without bespoke code for every data revision. By deploying the right tool at the right layer, Zano balances performance, robustness, and developer ergonomics across the stack. +**Each serializer lives where it provides the most benefit.** Deterministic serialization gives the blockchain core the immutability it requires; key–value serialization lets network messages and RPC calls evolve gracefully; Boost.Serialization offers a pragmatic solution for persisting wallet state without bespoke code for every data revision. By deploying the right tool at the right layer, Lethean balances performance, robustness, and developer ergonomics across the stack. + diff --git a/docs/learn/coinswap-transactions.md b/docs/learn/coinswap-transactions.md index 69ac2e0..dc0dbbf 100644 --- a/docs/learn/coinswap-transactions.md +++ b/docs/learn/coinswap-transactions.md @@ -4,7 +4,7 @@ sidebar_position: 7 # Coinswap transactions -| Amount | BBR tx id | ZANO tx id | Block height | +| Amount | BBR tx id | LTHN tx id | Block height | | -------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ------------ | | 0.1 | ffe552a8503b21661c534502ffcabb1e1ce73d34d9574e54567efb27cf994153 | 2f7b8f5fb1f5a76e8c9b3b0e8f1070d3eca651f626e11d4e8386cb001963a787 | 1332485 | | 0.21 | 7d3e0e2b8dc4bc6c44706988b9f25059e7154c34e78763c9d45bdbac5e086937 | f45d6b877997626ae2c24ff941ea8af5e7b937b62aba8f2499b0d07e4b5f0536 | 1333241 | @@ -2205,3 +2205,4 @@ sidebar_position: 7 | 30 | c33ba202dd7dac27a85a48e6d594f264cfc30fb68498a3f909d1d0e6d2fba012 | d03fcde03deb8043e0c46e443783c87e6c709d45d89cb6d321eb8371439d46b0 | 1360322 | | 100 | 2615312e6da810f596660c577e8d4efbe4e2e0aca007c1656d8a9a2706bc1a8c | 5b124718624f379a21f98fe07e8cb93e744095e5e454607c846866885eb78bae | 1360341 | | 36.199 | 193637f5d03c910f8df53a8b3e4c729555602a54c486e7452d456f024e04daf3 | e521ab469e5b8d8eb977f55fc270eaee2fcd58459bcf010bc8210f0540e50274 | 1360426 | + diff --git a/docs/learn/emission.md b/docs/learn/emission.md index b8e6954..95f2c1e 100644 --- a/docs/learn/emission.md +++ b/docs/learn/emission.md @@ -6,87 +6,62 @@ sidebar_position: 6 ### Where does the emission come from? -Zano has a hybrid PoW/PoS consensus algorithm to secure the network and therefore emission is generated from two distinct sources: +Lethean has a hybrid PoW/PoS consensus algorithm to secure the network and therefore emission is generated from two distinct sources: -Proof of Work (PoW) mining, which creates new ZANO coins to reward miners for completing the calculations and therefore contributing to the network. +Proof of Work (PoW) mining, which creates new LTHN coins to reward miners for completing the calculations and therefore contributing to the network. -Proof of Stake (PoS) staking, which also creates new ZANO coins to reward users who stake their funds and therefore also contributing to the network's security. +Proof of Stake (PoS) staking, which also creates new LTHN coins to reward users who stake their funds and therefore also contributing to the network's security. 100% of the block reward goes to the miner or staker who found the block. | Emission specifications​ | | | ------------------------ | --------------------------------------------- | -| Block Time | 1 minute | -| Block Reward | 1 ZANO (fixed amount) | +| Block Time | 2 minutes (120 seconds) | +| Block Reward | 1 LTHN per block (fixed) | | Maximum Supply | Uncapped | | Yearly Inflation | Ever-decreasing trend towards 0% (asymptotic) | -| Fee on TXs (flat fee) | 0.01 ZANO | +| Fee on TXs (flat fee) | 0.01 LTHN | | Fee burn | 100% (all fees are burned) | ### Emission motivation -Zano decided to set the block reward relatively low to avoid unnecessary selling price pressure while keeping the chain safe from flood attacks. We have an uncapped max supply because the assumption that only the TX fees would be enough to cover miners' appetite might not be accurate and Bitcoin might become a sad example of this. A fixed emission ensures that stakers and miners will always secure the network. +Lethean decided to set the block reward relatively low to avoid unnecessary selling price pressure while keeping the chain safe from flood attacks. We have an uncapped max supply because the assumption that only the TX fees would be enough to cover miners' appetite might not be accurate and Bitcoin might become a sad example of this. A fixed emission ensures that stakers and miners will always secure the network. -On Zano, **all network fees are being burned**, meaning that with enough network usage, the daily fee burning could surpass the emission from block rewards, resulting in supply becoming deflationary over time. +On Lethean, **all network fees are being burned**, meaning that with enough network usage, the daily fee burning could surpass the emission from block rewards, resulting in supply becoming deflationary over time. ![](/img/learn/emission/supply-inflation-with-burning.png) -![](/img/learn/emission/zano-supply-progression2024.png) +![](/img/learn/emission/lethean-supply-progression2024.png) -> For practical purposes these charts assume a fixed fee, in reality, as Zano's price goes up (and the dynamic fee mechanism is implemented) fees will likely go down in Zano-denominated terms, slightly reducing the total burned over time, still, these graphs are useful to showcase the different trends the total supply can take based on network usage. +> For practical purposes these charts assume a fixed fee, in reality, as Lethean's price goes up (and the dynamic fee mechanism is implemented) fees will likely go down in Lethean-denominated terms, slightly reducing the total burned over time, still, these graphs are useful to showcase the different trends the total supply can take based on network usage. This combination of small, minimalistic daily emissions, together with daily burns, results in **little to no sell pressure on exchanges.** ### Is the block reward enough to secure the network? -Zano has a unique consensus system in which in order to perform the classic 51% attack, you need to have at least 51% PoW hashrate AND 51% PoS power (there can also be other ratios like 20%/90% and so on (see the [whitepaper](/docs/learn/whitepaper)). +Lethean has a unique consensus system in which in order to perform the classic 51% attack, you need to have at least 51% PoW hashrate AND 51% PoS power (there can also be other ratios like 20%/90% and so on (see the [whitepaper](/docs/learn/whitepaper)). This way an attack becomes very expensive, in particular because the purchase of a significant portion of the coins on the market would dramatically increase the price. If you try to use a small percentage of PoS coins for the attack, then the PoW power necessary for the attack becomes 800% or more. This makes it possible to establish a relatively low block reward and at the same time provide a high security level for the transaction history. -### The premine and how Zano will be funded +### The SWAP and initial supply -Zano opted to use a small premine as its primary funding strategy. Here's an in-depth look at why this decision was made, how the funds have been utilized, and what the future holds for Zano's financial sustainability. +Lethean is a community fork of Zano. The new chain launched with a 10,000,000 LTHN premine designated as a **SWAP pool** — allowing holders of old-chain LTHN tokens to convert at a 100:1 ratio (100 old tokens = 1 new LTHN). -#### Why does Zano have a premine? +| Supply detail | | +| -------------------------- | -------------------------------------------- | +| Premine (SWAP pool) | 10,000,000 LTHN | +| SWAP ratio | 100:1 (old chain to new chain) | +| Old chain total supply | ~1,000,000,000 old LTHN | +| New chain emission target | ~12,000,000 LTHN over first decade | +| Daily PoW+PoS emission | ~1,440 LTHN (720 PoW + 720 PoS) | -The decision to proceed with a premine was rooted in the team's previous experiences and the broader crypto landscape. Unlike Bitcoin and Monero, which have benefited from substantial community donations, most cryptocurrencies struggle to secure funding through this method alone. Boolberry, the team's previous project, was no different; with just a 1% dev-tax and no premine, it was impossible to sustain development, as donations weren't enough given the extremely small community. +The SWAP mechanism uses coinbase outputs from the fast pre-HF2 blocks (first 10,000 blocks) as individual spendable inputs, enabling thousands of parallel SWAP transactions. -And so, a premine was seen as a necessary step to ensure that our next project, Zano, has the resources needed to grow, innovate, and maintain a dedicated team. +#### Lethean CIC -#### Premine amount +Lethean is operated by **Lethean CIC**, a UK Community Interest Company. This means the project is legally structured for community benefit, not private profit. Infrastructure costs (~$350/month) are funded through commercial services operated under the Host UK brand. -The premine consisted of 3.6M ZANO; it was set aside for ongoing project expenses, marketing, partnerships, and to pay a loan to fund initial development back in 2018. +#### Sustainability -As of December 2024, considering what has already been spent for development, the foundation fund sits at just \~5,4% of the total ZANO supply. +With 1 LTHN per block and all fees burned, the supply grows slowly while network usage reduces it. No foundation tax, no dev cut from blocks — the community owns the chain. -You can track the amount of the foundation fund via our [explorer](https://explorer.zano.org/) or by importing its tracking seed into your wallet: - -`aZxat4HAWriVQ3enkGcVsrZRdMseAJswG3CSEwTqZS246VsFQ53w26eZstYsu1jWE74Atz9ajLxFnBsVTafncWNH5SMv4zHFaTS:1780c4d5dd7e97cc4a75ea8baa7977d12ef948b9a6dddc2a9a37e5e22ac7180e:1599495055` - -#### Achievements funded by the premine - -The choice to implement a premine has enabled us to maintain a full-time, dedicated team on Zano from the start, even through the most brutal crypto winters. This strategic decision has allowed us to excel across multiple fronts: - -Development: We've continuously enhanced our blockchain technology with key upgrades like the Zarcanum hard fork, which introduced the world's first Private Proof of Stake model and support for issuing Confidential Assets. - -Marketing: The premine has funded efforts to boost our visibility, including securing listings on centralized exchanges and creating educational content. - -Community Engagement: With the funds, we've supported various community initiatives, offered developer bounties, and sponsored hackathons, all aimed at cultivating a dynamic and engaged Zano ecosystem. - -#### Decentralizing Zano's Foundation Fund - -Recognizing the importance of decentralization in cryptocurrency ethos, Zano is exploring ways to decentralize its development fund. One promising approach under consideration is the use of multisig wallets, where control over funds would be distributed among several keys, some of which could be held by community members or other trusted parties. This move would also tie well with our [upcoming governance voting system](https://zano.org/roadmap). - -#### Future: Hybrid Sustainable Funding Model - -Understanding the constraints of solely depending on a premine, especially given that 78% has already been utilized, Zano is set to roll out a community crowdfunding initiative. This step is now practical due to our community's steady growth. By integrating this with the premine, we're establishing a hybrid funding model that, similar to our hybrid PoW/PoS consensus, capitalizes on the strengths of both approaches. - -#### What are the benefits of Community Crowdfunding? - -By adopting a model akin to Monero's CCS, we can promote and manage direct contributions from the community. This approach broadens the funding base and allows development initiatives to be driven by community input rather than solely by the core team's decisions. - -Thanks to combining the existing premine reserves with funds sourced from the community, Zano is working towards establishing a more sustainable financial framework for the future. We anticipate that by the time the premine is depleted, Zano will boast a sufficiently large community to support its operations solely through community contributions, mirroring the self-sustaining model Monero has achieved. - -#### Conclusion - -Zano's decision to implement a premine was grounded in both past experiences and the practical realities of cryptocurrency funding; it was essential for early development and growth, but with 78% spent, we are making steps towards decentralization, sustainability, and increasing community involvement. Zano is crafting a funding model that could serve as a blueprint for future crypto projects. diff --git a/docs/learn/frequently-asked-questions.md b/docs/learn/frequently-asked-questions.md index f55a79c..7eac047 100644 --- a/docs/learn/frequently-asked-questions.md +++ b/docs/learn/frequently-asked-questions.md @@ -15,96 +15,91 @@ sidebar_position: 8 ## Beginner Questions -### What is Zano, and how is it different from other cryptocurrencies? +### What is Lethean, and how is it different from other cryptocurrencies? -Zano is an open-source layer-1 blockchain where every transaction is private by default. Amounts, addresses, and even asset types are hidden, enforced at the protocol level, not opt-in. You can send funds, stake, issue your own tokens, trade peer-to-peer, and build apps on Zano. +Lethean is an open-source layer-1 blockchain where every transaction is private by default. Amounts, addresses, and even asset types are hidden, enforced at the protocol level, not opt-in. You can send funds, stake, issue your own tokens, trade peer-to-peer, and build apps on Lethean. **Key characteristics:** - **Privacy protocol**, all transactions are private by default, enforced at the protocol level. - **Hybrid consensus algorithm**, makes the cost of a double-spend attack extremely high. - **Platform for dApps**, infrastructure for building decentralized applications. -- **Confidential Assets**, create and manage private tokens on the Zano blockchain. +- **Confidential Assets**, create and manage private tokens on the Lethean blockchain. **Two main use cases:** 1. Peer-to-peer private transactions. 2. An ecosystem with infrastructure for dApps and assets to build on. -### Is Zano like Ethereum? +### Is Lethean like Ethereum? -Zano is not an EVM chain since it lacks smart contracts; we prioritize default privacy instead. Smart contracts, which require publicly verifiable code and execution, conflict with privacy, implementing private smart contracts demands complex solutions, introducing potential risks. +Lethean is not an EVM chain since it lacks smart contracts; we prioritize default privacy instead. Smart contracts, which require publicly verifiable code and execution, conflict with privacy, implementing private smart contracts demands complex solutions, introducing potential risks. -This doesn't mean Zano lacks "smart" functionality, many of the use cases typically associated with smart contracts can actually be achieved without them. For example, Zano supports the creation and management of tokens (Confidential Assets) and enables private trading through a built-in decentralized exchange (DEX). +This doesn't mean Lethean lacks "smart" functionality, many of the use cases typically associated with smart contracts can actually be achieved without them. For example, Lethean supports the creation and management of tokens (Confidential Assets) and enables private trading through a built-in decentralized exchange (DEX). -Zano is more limited in terms of how programmable assets are, but the flip side is that it protects your privacy. Consider it a trade-off. +Lethean is more limited in terms of how programmable assets are, but the flip side is that it protects your privacy. Consider it a trade-off. -### Is Zano like Monero? What makes it different? +### Is Lethean like Monero? What makes it different? -Zano and Monero share common roots in the CryptoNote protocol, and use similar core privacy primitives. But **Zano is not a fork of Monero**. Our co-founder, Andrey Sabelnikov, was the lead developer who built the original CryptoNote codebase alongside its creator, Nicholas van Saberhagen. That codebase became the foundation for over 300 projects, Monero among them. +Lethean and Monero share common roots in the CryptoNote protocol, and use similar core privacy primitives. But **Lethean is not a fork of Monero**. Our co-founder, Andrey Sabelnikov, was the lead developer who built the original CryptoNote codebase alongside its creator, Nicholas van Saberhagen. That codebase became the foundation for over 300 projects, Monero among them. -The biggest difference is in scope. Monero focuses on being private peer-to-peer digital cash. Zano is building a platform with a wider set of tools, including user-creatable privacy tokens, on-chain identity, and decentralized trading, all protected by the same privacy guarantees at the base layer. +The biggest difference is in scope. Monero focuses on being private peer-to-peer digital cash. Lethean is building a platform with a wider set of tools, including user-creatable privacy tokens, on-chain identity, and decentralized trading, all protected by the same privacy guarantees at the base layer. -On the consensus side, Zano runs a hybrid PoW/PoS model instead of Monero's pure PoW. This makes the network harder to attack, since a bad actor would need to control both hash power and staked coins. It also gives us faster block times (1 minute vs. Monero's 2 minutes) and shorter lock-up periods (10 minutes vs. 20). +On the consensus side, Lethean runs a hybrid PoW/PoS model instead of Monero's pure PoW. This makes the network harder to attack, since a bad actor would need to control both hash power and staked coins. It also gives us 2-minute block times with shorter lock-up periods (20 minutes, 10 confirmations). -### How do I set up a Zano wallet? +### How do I set up a Lethean wallet? -1. Go to the Apple/Play store or download from [zano.org/downloads](https://zano.org/downloads). -2. Create a wallet by following the steps in the app. -3. Store your keys in a safe place. +1. Download the CLI wallet from [downloads.lthn.io](https://downloads.lthn.io) +2. Create a wallet: `./lethean-wallet-cli --generate-new-wallet my-wallet` +3. Store your 24-word seed phrase securely +4. Your address starts with `iTHN` -**Mobile wallet** is ideal for everyday transactions on the go. **Desktop wallet** runs a full local node, required for staking and offers the most complete feature set. See the [desktop wallet guide](/docs/use/wallets/gui-wallet) for a detailed walkthrough. +See the [testnet guide](https://downloads.lthn.io/testnet-guide.html) for a full walkthrough, or the [CLI wallet guide](/docs/use/wallets/install-lethean-cli-wallet-ubuntu) for detailed setup. -See all compatible wallets: [zano.org/wallets](https://zano.org/wallets) +### Where can I trade Lethean? -### Where can I trade Zano? +Trade on the built-in DEX: [trade.lthn.io](https://trade.lthn.io) -See all places where you can trade Zano: [zano.org/exchanges](https://zano.org/exchanges) +You can also mine coins and stake them to increase your balance. Exchange listings are planned after mainnet HF5 validation. -You can also mine coins and stake them to increase your balance, or trade directly on our built-in DEX. +### Are there private stablecoins on Lethean? -### Are there private stablecoins on Zano? +Lethean's Confidential Assets technology (available from HF4) enables private stablecoins to be built on the network. Any user can deploy a custom token with the same privacy guarantees as native LTHN — hidden addresses and hidden amounts. -Yes. Zano's Confidential Assets technology enables private stablecoins to be built on the network. One example is [fUSD (Freedom Dollar)](https://www.freedomdollar.com/), the first private stablecoin launched on Zano. It's backed by Zano and overcollateralized, check the current ratio at [freedomdollar.com/how-it-works](https://www.freedomdollar.com/how-it-works). All the Zano that is swapped into fUSD goes straight to collateral reserves, and this amount is also being staked, increasing the reserve every day. +### Can I stake Lethean on mobile or just desktop? -### Can I stake Zano on mobile or just desktop? +Lethean staking is done through the desktop wallet only, since it requires running a full local node, which is currently unfeasible on mobile devices. -Zano staking is done through the desktop wallet only, since it requires running a full local node, which is currently unfeasible on mobile devices. +### What is the Lethean DEX and what are the advantages over a CEX? -### What is the Zano DEX and what are the advantages over a CEX? - -The Zano Trade DEX (Decentralized Exchange) is a platform for trading Zano and Confidential Assets within the Zano ecosystem, offering peer-to-peer trading without custodial risks. It leverages Ionic Swaps to maintain privacy during trades. +The Lethean Trade DEX (Decentralized Exchange) is a platform for trading Lethean and Confidential Assets within the Lethean ecosystem, offering peer-to-peer trading without custodial risks. It leverages Ionic Swaps to maintain privacy during trades. - **Decentralized:** No central authority controls the exchange. - **Privacy:** Trades are conducted with confidentiality through Ionic Swaps. - **Non-custodial:** Users retain control of their funds. - **Peer-to-peer:** Direct trading between users. -Learn more: [Zano Trade](/docs/use/zano-trade) +Learn more: [Lethean Trade](/docs/use/lethean-trade) -### What is the most important feature that Zano has over other privacy projects? +### What is the most important feature that Lethean has over other privacy projects? -Confidential Assets are a key feature because they allow users to create their own private tokens on the Zano blockchain, secured by the same privacy mechanisms as Zano itself. This opens up possibilities for private dApps and tokenized assets. +Confidential Assets are a key feature because they allow users to create their own private tokens on the Lethean blockchain, secured by the same privacy mechanisms as Lethean itself. This opens up possibilities for private dApps and tokenized assets. -### What are Confidential Assets and how are they used on Zano? +### What are Confidential Assets and how are they used on Lethean? -Anyone can easily issue user-creatable currencies and digital tokens on the Zano chain. Such assets are secured by the same mechanisms that make Zano so much more secure than first-generation cryptocurrencies, namely hidden addresses and hidden amounts. This unique technology can be used to create private stablecoins, shielded versions of existing assets, and much more, without the overhead of having to create, manage, and secure your own blockchain. +Anyone can easily issue user-creatable currencies and digital tokens on the Lethean chain. Such assets are secured by the same mechanisms that make Lethean so much more secure than first-generation cryptocurrencies, namely hidden addresses and hidden amounts. This unique technology can be used to create private stablecoins, shielded versions of existing assets, and much more, without the overhead of having to create, manage, and secure your own blockchain. -**Projects built on or integrating Zano Confidential Assets include:** - -- [Confidential Layer](https://confidentiallayer.com/), Bridge between transparent and privacy blockchains -- [Freedom Dollar](https://www.freedomdollar.com/), Private USD stablecoin collateralized with ZANO -- [Obscura](https://obscura.art/), Mint private NFTs on Zano +The Confidential Assets system supports: token creation, minting, burning, metadata updates, and ownership transfer. All operations are private by default. ### What are Ionic Swaps? -Ionic Swaps are an improvement on Atomic Swaps, innovating seamless cryptocurrency exchanges while preserving user privacy. Ionic Swaps are a safe and consistent way to perform peer-to-peer swaps in which neither party has an unfair advantage. This technology is used by our DEX: Zano Trade. +Ionic Swaps are an improvement on Atomic Swaps, innovating seamless cryptocurrency exchanges while preserving user privacy. Ionic Swaps are a safe and consistent way to perform peer-to-peer swaps in which neither party has an unfair advantage. This technology is used by our DEX: Lethean Trade. ### What is an alias and how does it work? -All Zano network users can create [aliases](/docs/use/aliases), for example: @username. These aliases provide a short, easy-to-remember name rather than a long string of characters that form a blockchain address. To send coins to an alias, simply type it in the address field starting with @, and wallets will automatically detect it. +All Lethean network users can create [aliases](/docs/use/aliases), for example: @username. These aliases provide a short, easy-to-remember name rather than a long string of characters that form a blockchain address. To send coins to an alias, simply type it in the address field starting with @, and wallets will automatically detect it. -Zano dApps can use alias-based authentication, as [Zano Matrix](/docs/use/zano-matrix-guide), a private dedicated messenger, already does. Aliases will also be integrated into a user reputation service. +Lethean dApps can use alias-based authentication, as [Lethean Matrix](/docs/use/lethean-matrix-guide), a private dedicated messenger, already does. Aliases will also be integrated into a user reputation service. ### What is Zarcanum? @@ -112,9 +107,9 @@ Zarcanum is the world's first Proof of Stake scheme that enhances traditional Po ### How is the network secured? -Zano uses a hybrid consensus algorithm that alternates between Proof-of-Work (PoW) and Proof-of-Stake (PoS) blocks. +Lethean uses a hybrid consensus algorithm that alternates between Proof-of-Work (PoW) and Proof-of-Stake (PoS) blocks. -This approach combines the benefits of both mechanisms to enhance blockchain security and decentralization. If performing a 51% attack on Zano, one would need the majority of the hash rate **and** a significant amount of the total amount of staked coins, making the cost of an attack incredibly high, thus becoming infeasible. +This approach combines the benefits of both mechanisms to enhance blockchain security and decentralization. If performing a 51% attack on Lethean, one would need the majority of the hash rate **and** a significant amount of the total amount of staked coins, making the cost of an attack incredibly high, thus becoming infeasible. ### What's the plan for scaling? @@ -124,27 +119,27 @@ We'll continue to improve our dynamic blocksize (which our team pioneered initia ## Privacy Technologies -### How are Zano transactions kept private by default? +### How are Lethean transactions kept private by default? -Zano leverages the proven and time-tested cryptographic primitives that were first introduced with CryptoNote, a protocol of which one of our founders was a lead-dev for, origin for over 300 forks and used by the biggest private cryptocurrencies. +Lethean leverages the proven and time-tested cryptographic primitives that were first introduced with CryptoNote, a protocol of which one of our founders was a lead-dev for, origin for over 300 forks and used by the biggest private cryptocurrencies. Our Implementation boils down to: -- **d/v-CLSAG Ring Signatures** make transactions between Zano network members untraceable. +- **d/v-CLSAG Ring Signatures** make transactions between Lethean network members untraceable. - **Stealth Addresses** conceal sending and receiving addresses. - **Pedersen Commitments** hide amounts/balances, the asset type being transacted, and facilitate private staking (Zarcanum). This makes sure that **by default**, transaction data stored on the blockchain is **only** accessible by parties who authorized the transactions, none of it is ever publicly published. -### What makes Zano more private than Bitcoin or Ethereum? +### What makes Lethean more private than Bitcoin or Ethereum? -Zano achieves greater privacy through the use of Ring Signatures, Stealth Addresses, and Pedersen Commitments. These features conceal transaction origins, destinations, and amounts. Unlike Bitcoin and Ethereum, where this information is publicly available on-chain, Zano hides it by default. +Lethean achieves greater privacy through the use of Ring Signatures, Stealth Addresses, and Pedersen Commitments. These features conceal transaction origins, destinations, and amounts. Unlike Bitcoin and Ethereum, where this information is publicly available on-chain, Lethean hides it by default. -### What are stealth addresses and how do they protect my identity on Zano? +### What are stealth addresses and how do they protect my identity on Lethean? Stealth Addresses create random one-time addresses for every transaction on behalf of the recipient. The recipient can publish just one address, yet have all their incoming payments go to unique addresses on the blockchain, where they cannot be linked back to either the recipient's published address or any other transaction's addresses. By using stealth addresses, only the sender and receiver can determine where a payment was sent. -### How do ring signatures work in Zano to obscure the sender? +### How do ring signatures work in Lethean to obscure the sender? A Ring Signature is a type of digital signature that can be performed by any member of a group of users who each have a key. Therefore, a message signed with a ring signature is endorsed by someone in a particular group of people (senders). It should be computationally infeasible to determine *which* of the group members' keys was used to produce the signature, and therefore, who actually is the sender. @@ -152,21 +147,21 @@ A Ring Signature is a type of digital signature that can be performed by any mem The mixin count refers to the number of signatures (apart from yours) in the ring signature that authorizes the transaction. A higher mixin value will typically provide more privacy because it will provide greater plausible deniability. It is impossible for any observer to know which is the real source of the funds. -### Can I create auditable wallets on Zano for transparency when needed? +### Can I create auditable wallets on Lethean for transparency when needed? -Yes, Zano supports auditable wallets, which allow people and organizations to create transparent wallets for situations where a third party would rather verify than trust. You can share your wallet's transaction history and balance with others without granting them spending ability. Creating auditable wallets doesn't affect the privacy of the Zano network in any way. We use this feature for our foundation fund. +Yes, Lethean supports auditable wallets, which allow people and organizations to create transparent wallets for situations where a third party would rather verify than trust. You can share your wallet's transaction history and balance with others without granting them spending ability. Creating auditable wallets doesn't affect the privacy of the Lethean network in any way. We use this feature for our foundation fund. Learn how to set one up: [Auditable Wallets](/docs/use/auditable-wallets) -### Does Zano's privacy slow down transactions or increase fees? +### Does Lethean's privacy slow down transactions or increase fees? -Privacy in general incurs higher complexity and therefore impacts the size of transactions. However, when comparing a regular Zano transaction (private by default) to a private Bitcoin transaction (CoinJoin), a regular Zano transaction is vastly simpler, therefore lighter and cheaper. +Privacy in general incurs higher complexity and therefore impacts the size of transactions. However, when comparing a regular Lethean transaction (private by default) to a private Bitcoin transaction (CoinJoin), a regular Lethean transaction is vastly simpler, therefore lighter and cheaper. -### Why is Zano's on-chain privacy better than using privacy add-ons or mixers on other chains? +### Why is Lethean's on-chain privacy better than using privacy add-ons or mixers on other chains? When privacy isn't built into the base layer from the start and instead depends on opt-in, add-on solutions, the result is a cumbersome user experience. And in the privacy space, where even a small mistake can be catastrophic, that approach almost always ends poorly. -On Zano, you don't need to be an expert to enjoy instant privacy, simply using the network is enough. Everything is built so you don't have to worry, and this comes with an added benefit: true *fungibility*. Every asset you receive is just as private and indistinguishable as any other. +On Lethean, you don't need to be an expert to enjoy instant privacy, simply using the network is enough. Everything is built so you don't have to worry, and this comes with an added benefit: true *fungibility*. Every asset you receive is just as private and indistinguishable as any other. ### What is fungibility, and why is it important? @@ -178,77 +173,53 @@ Without fungibility, money systems quickly become impractical, and the same hold - Merchants refusing your payment because they don't like the history attached to it. - Uncertainty about the actual value of your funds, since past transactions can affect how they're perceived. -But if someone accepts ZANO or its Confidential Assets, you don't have to worry about this. All Zano assets are treated equally thanks to not having a public transaction history in the first place, improving user experience while maximizing security. +But if someone accepts LTHN or its Confidential Assets, you don't have to worry about this. All Lethean assets are treated equally thanks to not having a public transaction history in the first place, improving user experience while maximizing security. --- ## Tokenomics & Trust -### Was Zano pre-mined, and how was it structured? +### Was Lethean pre-mined, and how was it structured? -Yes, the premine consisted of 3.6M ZANO; it was set aside for ongoing project expenses, marketing, partnerships, and to pay a loan to fund initial development back in 2018. +Yes. Lethean launched with a **10,000,000 LTHN premine** designated as a **SWAP pool**. This allows holders of old-chain LTHN tokens to convert at a 100:1 ratio (100 old tokens = 1 new LTHN). -As of July 2025, considering what has already been spent for development, the foundation fund sits at just ~4.4% of the total ZANO supply. +Read more about the SWAP and emission: [Emission & Tokenomics](/docs/learn/emission). -You can track the amount of the foundation fund via our [explorer](https://explorer.zano.org/) or by importing its tracking seed into your wallet: +### How is the project funded? -`aZxat4HAWriVQ3enkGcVsrZRdMseAJswG3CSEwTqZS246VsFQ53w26eZstYsu1jWE74Atz9ajLxFnBsVTafncWNH5SMv4zHFaTS:1780c4d5dd7e97cc4a75ea8baa7977d12ef948b9a6dddc2a9a37e5e22ac7180e:1599495055` +Lethean is operated by **Lethean CIC**, a UK Community Interest Company. Infrastructure costs (~$350/month) are funded through commercial services under the Host UK brand. There is no ICO, no VC backing, no foundation tax on blocks. -Read more about why we took this decision and our future plans for Zano's funding [here](/docs/learn/emission#the-premine-and-how-zano-will-be-funded). +### Is there a public breakdown of the LTHN token distribution? -### How is the project funded if there was no ICO or VC backing? +Lethean is a private-by-default blockchain — all balances remain hidden. The total supply can be verified at [explorer.lthn.io](https://explorer.lthn.io) (premine + block rewards). -The project is funded through the premine described above. Unlike Bitcoin and Monero, which have benefited from substantial community donations, most cryptocurrencies struggle to secure funding through donations alone. Boolberry, the team's previous project, had just a 1% dev-tax and no premine, it was impossible to sustain development, as donations weren't enough given the extremely small community. +### Why should I trust a community fork? -A premine was seen as a necessary step to ensure that Zano has the resources needed to grow, innovate, and maintain a dedicated team. - -### Can the Zano team dump on the market, or are their funds locked? - -No funds are locked; however, all foundation fund transactions are public, and as of July 2025, the fund represents less than 5% of the total supply. - -### How does Zano ensure decentralization if the devs hold some supply? - -Besides the fact that the foundation fund sits below 5% of the supply, Proof of Stake incentives ensure that all holders remain honest, if they were to harm the network, they would be attacking their own investment. - -### Is there a public breakdown of the ZANO token distribution? - -No. Zano is a private-by-default blockchain and all balances remain hidden. - -### Why should I trust a project that had a pre-mine? - -The decision to proceed with a premine was rooted in the team's previous experiences and the broader crypto landscape. Unlike Bitcoin and Monero, which have benefited from substantial community donations, most cryptocurrencies struggle to secure funding through this method alone. - -A premine was seen as a necessary step to ensure that Zano has the resources needed to grow, innovate, and maintain a dedicated team. - -Read more about our future plans for Zano's funding [here](/docs/learn/emission#the-premine-and-how-zano-will-be-funded). - -### What steps has Zano taken to build trust and transparency with the community? - -Beyond making the foundation fund wallet publicly accessible and publishing monthly project updates, Zano is also exploring ways to further decentralize its development fund. One promising approach under consideration is implementing multisig wallets, where control over funds is shared across multiple keys, including community members or other trusted parties. +Lethean inherits the battle-tested Zano/CryptoNote+ cryptographic foundation (active since 2014). The fork adds decentralised VPN, identity, and service-layer features. All code is open source. The CIC legal structure ensures community ownership. --- ## Cross-Chain Bridging -### Can I bridge assets like BTC or ETH to Zano? +### Can I bridge assets like BTC or ETH to Lethean? -Yes. Zano supports cross-chain bridging, allowing users to move assets from other blockchains into the Zano ecosystem and benefit from its privacy features. One of the bridges that has integrated Zano is [Confidential Layer](https://confidentiallayer.com/), a protocol built on the [Bridgeless](https://bridgeless.com/) L1 blockchain that enables seamless, decentralized, and non-custodial bridging between various blockchains (like Ethereum and Bitcoin) and privacy chains like Zano. It allows users to move assets like BTC, BCH, and EVM tokens into privacy-focused environments. +Yes. Lethean supports cross-chain bridging, allowing users to move assets from other blockchains into the Lethean ecosystem and benefit from its privacy features. One of the bridges that has integrated Lethean is [Confidential Layer](https://confidentiallayer.com/), a protocol built on the [Bridgeless](https://bridgeless.com/) L1 blockchain that enables seamless, decentralized, and non-custodial bridging between various blockchains (like Ethereum and Bitcoin) and privacy chains like Lethean. It allows users to move assets like BTC, BCH, and EVM tokens into privacy-focused environments. -This means users can upgrade their favorite crypto assets with the privacy and security of the Zano blockchain, bringing massive utility to Zano's ecosystem. +This means users can upgrade their favorite crypto assets with the privacy and security of the Lethean blockchain, bringing massive utility to Lethean's ecosystem. ### What do I receive when using the Confidential Layer bridge? -When bridging an asset to Zano using Confidential Layer, you receive its decentralized wrapped version on the Zano blockchain. This asset is trustlessly pegged 1:1 and doesn't rely on a third-party custodian, it's secured by a network of validators. +When bridging an asset to Lethean using Confidential Layer, you receive its decentralized wrapped version on the Lethean blockchain. This asset is trustlessly pegged 1:1 and doesn't rely on a third-party custodian, it's secured by a network of validators. ### How does Confidential Layer increase privacy? How is it different from mixers? -It adds to bridged assets the same [technologies used by native Zano](#privacy-technologies). +It adds to bridged assets the same [technologies used by native Lethean](#privacy-technologies). Unlike mixers, which obscure your transaction flow at a certain point (and you still need to watch your steps after), Confidential Layer cryptographically hides your balance, the data is never visible in the first place. ### How are the wrapped assets stored? -In Zano wallets, both the official wallet and multicoin wallets like Edge, Cake Wallet, and Bitcoin.com. +In Lethean wallets, both the official wallet and multicoin wallets like Edge, Cake Wallet, and Bitcoin.com. ### How does unwrapping work? @@ -266,27 +237,27 @@ No. The entire protocol is decentralized and non-custodial, no central third par ## Dealing with Misuse & Bad Actors -### What does Zano do to prevent bad actors from abusing its privacy features? +### What does Lethean do to prevent bad actors from abusing its privacy features? -Zano is built as a truly permissionless network, no member of the development team or anyone else can prevent others from using its features. This ensures that every user has equal access, regardless of who they are or where they come from. We firmly believe this is the core ethos of cryptocurrency. If a network isn't open and resistant to control or censorship, then calling it decentralized has little meaning. +Lethean is built as a truly permissionless network, no member of the development team or anyone else can prevent others from using its features. This ensures that every user has equal access, regardless of who they are or where they come from. We firmly believe this is the core ethos of cryptocurrency. If a network isn't open and resistant to control or censorship, then calling it decentralized has little meaning. -### How do privacy coins like Zano balance user freedom with responsibility? +### How do privacy coins like Lethean balance user freedom with responsibility? Every user is responsible for their own actions, the network doesn't judge anyone. -### What would Zano say to regulators or critics who claim privacy coins are only for criminals? +### What would Lethean say to regulators or critics who claim privacy coins are only for criminals? We affirm that **privacy is a fundamental human right** (UDHR, 1948) and applies online as well as offline (UN Human Rights Council, 2013). It is the foundation of freedom, dignity, and self-determination in an increasingly digital world. Without privacy, individuals cannot fully exercise other rights such as freedom of expression, freedom of association, or the right to participate in society without coercion or surveillance. In the realm of money and communication, privacy is not a privilege but a necessity. It protects individuals from unjust discrimination, economic exclusion, and authoritarian control. Just as we expect confidentiality in our personal lives, our medical records, or our votes, we must demand the same for our digital interactions and financial transactions. -### Is there a way to track or flag suspicious activity on Zano's blockchain? +### Is there a way to track or flag suspicious activity on Lethean's blockchain? -No. Zano is built precisely so you can't distinguish one transaction from another. +No. Lethean is built precisely so you can't distinguish one transaction from another. -### How does Zano differentiate between protecting user rights and enabling bad behavior? +### How does Lethean differentiate between protecting user rights and enabling bad behavior? -Zano is designed as a **decentralized, permissionless network**, which means it does not (and cannot) make judgments about who uses it or for what purpose. Just as the internet itself does not distinguish between "good" and "bad" traffic, a truly decentralized financial system must remain neutral. +Lethean is designed as a **decentralized, permissionless network**, which means it does not (and cannot) make judgments about who uses it or for what purpose. Just as the internet itself does not distinguish between "good" and "bad" traffic, a truly decentralized financial system must remain neutral. --- @@ -302,10 +273,12 @@ To access the wallet in the event of a loss, you need something called a mnemoni ### Why does the desktop wallet take so long to start? -Zano wallet is a full node application. Due to loading the blockchain and multiple wallets synchronizing, start time depends on your system specifications and may be bottlenecked by internet connection speed. +Lethean wallet is a full node application. Due to loading the blockchain and multiple wallets synchronizing, start time depends on your system specifications and may be bottlenecked by internet connection speed. ### Where can I get support? -- **General issues**: [GitHub Issues](https://github.com/hyle-team/zano/issues) or [Discord #support](https://discord.gg/wE3rmYY) -- **Zano Trade support**: [@zano_trade_support](https://t.me/zano_trade_support) -- **Critical network updates**: [@zano_critical](https://t.me/zano_critical) +- **General issues**: [GitHub Issues](https://github.com/lethean-io) or [Discord](https://discord.gg/wE3rmYY) +- **Explorer**: [explorer.lthn.io](https://explorer.lthn.io) +- **Documentation**: [testnet-docs.lthn.io](https://testnet-docs.lthn.io) +- **Telegram**: [@letheancoin](https://t.me/letheancoin) + diff --git a/docs/learn/lethean-features/_category_.json b/docs/learn/lethean-features/_category_.json new file mode 100644 index 0000000..ff6c9c0 --- /dev/null +++ b/docs/learn/lethean-features/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Lethean Features", + "position": 2 +} + diff --git a/docs/learn/lethean-features/overview.md b/docs/learn/lethean-features/overview.md new file mode 100644 index 0000000..bb3d980 --- /dev/null +++ b/docs/learn/lethean-features/overview.md @@ -0,0 +1,128 @@ +# Overview + +## Lethean's Values + +### Privacy + +Every transaction on Lethean is private at the protocol level. Amounts, addresses, and asset types are hidden by default. Only you decide what to reveal. + +### Security + +A hybrid PoW/PoS consensus algorithm makes attacks on Lethean infeasible. An attacker would need both majority hashrate and a large share of staked coins at the same time. + +### Stability + +Lethean's codebase has been live and tested since the Boolberry days, over a decade of production use. The network is stable, and new releases go through extensive testing before deployment. + +### Decentralization + +Anyone can participate in the network. There are no validator nodes (master nodes), no minimum staking amounts, and no lock-up times. Mine, stake, or just use it. + +### Fungibility + +No coin is tainted. No blacklists. Hidden transaction history makes every LTHN identical. Unlike transparent blockchains where coins can be flagged or rejected based on their history, Lethean's privacy guarantees mean every coin is equal. + +### Uncensorable + +When transactions are invisible, they can't be blocked, reversed, or selectively enforced. Privacy at the protocol level means no one can discriminate against specific transactions or addresses. + +### Easy to use + +Desktop, mobile, and third-party wallets. A browser extension for dApps. Documentation that covers the basics and the deep stuff. We try to make privacy practical, not just possible. + +## Technologies + +Lethean was built from scratch, not forked. The technologies below are what make it work. Each one has a corresponding [research paper](/docs/learn/whitepaper). + +### Hybrid PoW/PoS consensus + +Lethean alternates between Proof-of-Work and Proof-of-Stake blocks. The PoS side uses Zarcanum, the first scheme where stakers don’t reveal their balances. A 51% attack would require majority hashrate **and** a large share of staked coins simultaneously, which makes it impractical. + +### Untraceable transactions + +Transactions are hidden using **d/v-CLSAG Ring Signatures** (hide the sender) and **Stealth Addresses** (hide the receiver and asset type). Only the parties involved in a transaction can see its details. + +### Amount privacy + +**Bulletproofs+** hide the amounts in every transaction. The proofs verify that inputs and outputs balance (no coins created or destroyed) without revealing the actual numbers. + +### Escrow contracts + +Both parties lock a deposit into a contract. If either side tries to cheat, they lose their deposit. No intermediary needed. This is how Lethean Trade’s P2P platform settles trades. + +### Aliases + +Register a human-readable name like @username instead of using a long address. Aliases are on-chain and already used for the Lethean Messenger, dApp authentication, and receiving payments. + +### Marketplace API + +Create, update, or deactivate on-chain offers. Once published, offers are visible to everyone on the network. Anyone can build a decentralized store on top of this. + +### Ionic Swaps + +An improvement on atomic swaps. Two parties exchange assets peer-to-peer with full privacy, and neither side can cheat or gain an unfair advantage. This is what powers the DEX. + +### Zarcanum: anonymous Proof of Stake + +The first PoS scheme where stakers don’t reveal their balances or identity. You earn staking rewards without exposing how much you hold. Nobody else has done this. + +### Auditable wallets + +Opt-in transparency for when a third party needs to verify balances. Useful for organizations, funds, and compliance. Enabling it on one wallet doesn’t weaken privacy for anyone else on the network. + +### Confidential Assets + +Issue your own tokens on Lethean. They get the same privacy as native LTHN: hidden addresses, hidden amounts, hidden asset type. Private stablecoins, wrapped assets, whatever you need. No separate blockchain required. + +## Products + +These are the products built on Lethean's tech stack. Anyone can build on top of the same technologies. + +### Lethean Trade: P2P trading + +Peer-to-peer trading using escrow contracts. Both parties lock collateral, so neither can walk away. Trade any crypto or fiat without a middleman. + +### Lethean Trade: DEX + +Trade LTHN and Confidential Assets with on-chain order matching and Ionic Swaps. No registration. The asset type, amount, and addresses involved are all hidden. + +### Lethean Governance + +Anonymous on-chain voting for stakers. Network participants vote on protocol decisions without revealing their identity or stake. + +### FUSD + +A private stablecoin on Lethean. Send dollars without anyone knowing how much, to whom, or when. Built as a Confidential Asset, FUSD has the same privacy guarantees as native LTHN. + +### Lethean Stats + +Live blockchain explorer with network analytics, staking data, and market insights. Available at [letheanstats.com](https://letheanstats.com). + +### Lethean Wallets + +- **Desktop**: Full-node wallet with all features including staking. +- **Mobile**: Remote-node wallet, everything except staking. +- **Third-party**: [Cake Wallet](https://cakewallet.com), [Bitcoin.com](https://bitcoin.com) wallet, [Edge Wallet](https://edge.app). + +### Lethean Companion + +Browser extension that connects the desktop wallet to web-based dApps. Handles authentication and transaction signing. + +### Lethean MCP + +An [MCP server](https://github.com/PRavaga/lethean-mcp) that connects AI agents (Claude Code, Cursor, Windsurf, and other MCP-compatible tools) to the Lethean blockchain. 45+ tools for querying blocks, wallets, assets, DEX order books, and trading data. See the [blog post](https://blog.lethean.io/lethean-mcp-give-your-ai-agent-eyes-on-a-privacy-blockchain/) for setup and use cases. + +## Wider ecosystem + +- **[Wrapped Lethean](https://wrapped.lethean.io)** — WLTHN, an ERC-20 token on Ethereum. Exchangeable 1:1 for native LTHN. +- **[Obscura](https://obscura.lethean.io)** — Private NFT minting and management. +- **[Lethean Messenger](/docs/use/lethean-matrix-guide)** — Encrypted communication built on Matrix, linked to your Lethean alias. +- **[Bridgeless](https://bridgeless.com)** — Non-custodial bridge between public and privacy blockchains. Uses Lethean gateway addresses with ETH-compatible signatures for cross-chain asset commands. +- **[Lethean Bay](https://letheanbay.com)** — Private marketplace for buying and selling goods. +- **[Bandit City](https://bandit.city)** — Community hub with its own token and staking. +- **[Alias Auction](https://auction.lethean.io)** — Bid on @usernames registered on-chain. +- **[Lethean Pay](https://pay.lethean.io)** — Payment widgets for any website. +- **[Lethean Cash POS](https://letheancash.com)** — Point-of-sale for physical shops. + +Full list at [lethean.io/ecosystem](https://lethean.io/ecosystem). + diff --git a/docs/learn/reviews.md b/docs/learn/reviews.md index cbd64ae..aa1c257 100644 --- a/docs/learn/reviews.md +++ b/docs/learn/reviews.md @@ -4,16 +4,17 @@ sidebar_position: 4 # Security Reviews -Third-party audits of Zano's cryptographic protocols. The research papers themselves are in [Whitepapers](/docs/learn/whitepaper). +Third-party audits of Lethean's cryptographic protocols. The research papers themselves are in [Whitepapers](/docs/learn/whitepaper). ### Zarcanum review by [Cypher Stack](https://cypherstack.com/) -Review of the [Zarcanum](/docs/learn/zano-features/overview#zarcanum-anonymous-proof-of-stake) Proof of Stake scheme with hidden amounts. +Review of the [Zarcanum](/docs/learn/lethean-features/overview#zarcanum-anonymous-proof-of-stake) Proof of Stake scheme with hidden amounts. https://github.com/cypherstack/zarcanum-review/releases/tag/final -### Zano d/v-CLSAG review by [Cypher Stack](https://cypherstack.com/) +### Lethean d/v-CLSAG review by [Cypher Stack](https://cypherstack.com/) -Review of Zano's ring signature scheme used for [untraceable transactions](/docs/learn/zano-features/overview#untraceable-transactions). +Review of Lethean's ring signature scheme used for [untraceable transactions](/docs/learn/lethean-features/overview#untraceable-transactions). + +https://github.com/cypherstack/lethean-clsag-review/releases/tag/final -https://github.com/cypherstack/zano-clsag-review/releases/tag/final diff --git a/docs/learn/specifications.md b/docs/learn/specifications.md index 640f6c3..5eef410 100644 --- a/docs/learn/specifications.md +++ b/docs/learn/specifications.md @@ -4,28 +4,41 @@ sidebar_position: 5 # Specifications -See also: [Emission & Tokenomics](/docs/learn/emission) for supply details, [Features Overview](/docs/learn/zano-features/overview) for technology descriptions. +See also: [Emission & Tokenomics](/docs/learn/emission) for supply details, [Features Overview](/docs/learn/lethean-features/overview) for technology descriptions. | General info | | | :------------------------ | ---------------------------------------------------------------------- | -| Release | 2019 | -| Currency | Zano | -| Symbol | ZANO | -| Hash algorithm | ProgPowZ | -| Language | C++ | -| Blockchain | PoS + PoW | +| Release | 2026 (Zano fork, CryptoNote heritage since 2014) | +| Currency | Lethean | +| Symbol | LTHN | +| Address prefix | iTHN | +| Deep link scheme | `lthn://` | +| Hash algorithm | ProgPoWZ (GPU) + PoS hybrid | +| Language | C++ (daemon), Go (tooling), TypeScript (web) | +| Blockchain | PoS + PoW alternating blocks | | **Emission** | | -| Block Time | 1 minute | -| Block Reward | 1 ZANO (fixed amount) | -| Initial total supply | 17517203 ZANO | -| Maximum Supply | Uncapped | -| Yearly Inflation | Ever-decreasing trend towards 0% (asymptotic) | -| **Fee on TXs** (flat fee) | 0.01 ZANO | +| Block Time | 120 seconds (2 minutes) | +| Block Reward | 1 LTHN per block (fixed) | +| Blocks per day | ~720 (PoW) + ~720 (PoS) = ~1440 total | +| Daily emission | ~1440 LTHN | +| Premine | 10,000,000 LTHN (SWAP pool for old chain holders) | +| Maximum Supply | Uncapped (asymptotically decreasing inflation) | +| **Fee on TXs** (flat fee) | 0.01 LTHN | | Fee burn | 100% (all fees are burned) | +| Alias registration | 1 LTHN (updates use standard fee) | +| **Network** | | +| Mainnet P2P | 36942 | +| Mainnet RPC | 36941 | +| Testnet P2P | 46942 | +| Testnet RPC | 46941 | | **Resources** | | -| Website | [https://zano.org/](https://zano.org/) | -| Repository | [https://github.com/hyle-team/zano](https://github.com/hyle-team/zano) | -| Explorer | [https://explorer.zano.org/](https://explorer.zano.org/) | +| Website | [https://lethean.io/](https://lethean.io/) | +| Repository | [https://github.com/lethean-io](https://github.com/lethean-io) | +| Explorer | [https://explorer.lthn.io/](https://explorer.lthn.io/) | +| Documentation | [https://testnet-docs.lthn.io/](https://testnet-docs.lthn.io/) | +| Downloads | [https://downloads.lthn.io/](https://downloads.lthn.io/) | +| Trade (DEX) | [https://trade.lthn.io/](https://trade.lthn.io/) | | **Requirements** | | -| Wallet requirements | 2 core x64 CPU, 3 GB RAM | -| Wallet platforms | x64 Windows 10/11, Linux or Mac OS Big Sur 11.4 | +| Wallet requirements | 2 core x64 CPU, 3 GB RAM | +| Wallet platforms | Linux x86_64 (macOS and Windows pending) | + diff --git a/docs/learn/what-is-lethean.md b/docs/learn/what-is-lethean.md new file mode 100644 index 0000000..259066d --- /dev/null +++ b/docs/learn/what-is-lethean.md @@ -0,0 +1,43 @@ +--- +sidebar_position: 1 +--- + +# What is Lethean + +Lethean is an open-source layer-1 blockchain where every transaction is private by default. Amounts, addresses, and even asset types are hidden. This is enforced at the protocol level, not opt-in. + +You can send funds, stake, issue your own tokens, trade peer-to-peer, and build apps on Lethean. Nobody can see what you sent, who received it, or which asset was involved. All an outside observer sees is that a transaction happened. + +![Comparison of details revealed by ETH’s transactions and Lethean ones.](/img/learn/what-is-lethean/transfer.png) + +The sender and receiver can verify transactions through transaction IDs, but none of the data is publicly exposed. + +### Origin + +Lethean is a community-owned fork of [Zano](https://zano.org) (CryptoNote+), whose lead developer Andrey Sabelnikov wrote the original CryptoNote reference implementation — the codebase that Monero and hundreds of other projects forked from. Lethean inherits this battle-tested cryptographic foundation and extends it with decentralised VPN, identity, and service-layer features. The chain is operated by Lethean CIC, a UK community interest company. + +- **Source:** [github.com/lethean-io](https://github.com/lethean-io) +- **Explorer:** [explorer.lthn.io](https://explorer.lthn.io) +- **Downloads:** [downloads.lthn.io](https://downloads.lthn.io) +- **Trade:** [trade.lthn.io](https://trade.lthn.io) + +### Key technologies + +Each technology is covered in detail in the [Features Overview](/docs/learn/lethean-features/overview). The research papers behind them are in [Whitepapers](/docs/learn/whitepaper). + +**Zarcanum** is the world’s first Proof of Stake scheme with hidden amounts. Stakers secure the network without revealing their balances. + +**Confidential Assets** let anyone issue privacy tokens on the Lethean chain, with the same protections as native LTHN: hidden addresses and hidden amounts. You can create private stablecoins, shielded versions of existing assets, and more, without running your own blockchain. + +**Ionic Swaps** improve on atomic swaps by enabling peer-to-peer asset exchange with full privacy. Neither party has an unfair advantage. This is what powers Lethean Trade, the built-in DEX. + +**Hybrid PoW/PoS Consensus** alternates Proof of Work and Proof of Stake blocks. Attacking Lethean requires both hashpower and stake, so no single vector is enough. + +**Auditable Wallets** are opt-in transparent wallets for situations where a third party needs to verify balances. Enabling them on one wallet doesn’t affect privacy for anyone else on the network. + +**Fungibility**: every LTHN is identical. No coin has a "history" that can be traced, flagged, or blacklisted. + +**Uncensorable**: when transactions are invisible, they can’t be blocked, reversed, or selectively enforced. + +Check the [roadmap](https://lethean.io) for what’s coming next, or the [FAQ](/docs/learn/frequently-asked-questions) for common questions. + diff --git a/docs/learn/what-is-zano.md b/docs/learn/what-is-zano.md deleted file mode 100644 index 906a179..0000000 --- a/docs/learn/what-is-zano.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -sidebar_position: 1 ---- - -# What is Zano - -Zano is an open-source layer-1 blockchain where every transaction is private by default. Amounts, addresses, and even asset types are hidden. This is enforced at the protocol level, not opt-in. - -You can send funds, stake, issue your own tokens, trade peer-to-peer, and build apps on Zano. Nobody can see what you sent, who received it, or which asset was involved. All an outside observer sees is that a transaction happened. - -![Comparison of details revealed by ETH’s transactions and Zano ones.](/img/learn/what-is-zano/transfer.png) - -The sender and receiver can verify transactions through transaction IDs, but none of the data is publicly exposed. - -### Origin - -Zano’s lead developer Andrey Sabelnikov wrote the original CryptoNote reference implementation, the codebase that Monero and hundreds of other projects forked from. Zano is his next evolution of that work, built from scratch with a wider scope: not just private payments, but a private economy. - -### Key technologies - -Each technology is covered in detail in the [Features Overview](/docs/learn/zano-features/overview). The research papers behind them are in [Whitepapers](/docs/learn/whitepaper). - -**Zarcanum** is the world’s first Proof of Stake scheme with hidden amounts. Stakers secure the network without revealing their balances. - -**Confidential Assets** let anyone issue privacy tokens on the Zano chain, with the same protections as native ZANO: hidden addresses and hidden amounts. You can create private stablecoins, shielded versions of existing assets, and more, without running your own blockchain. - -**Ionic Swaps** improve on atomic swaps by enabling peer-to-peer asset exchange with full privacy. Neither party has an unfair advantage. This is what powers Zano Trade, the built-in DEX. - -**Hybrid PoW/PoS Consensus** alternates Proof of Work and Proof of Stake blocks. Attacking Zano requires both hashpower and stake, so no single vector is enough. - -**Auditable Wallets** are opt-in transparent wallets for situations where a third party needs to verify balances. Enabling them on one wallet doesn’t affect privacy for anyone else on the network. - -**Fungibility**: every ZANO is identical. No coin has a "history" that can be traced, flagged, or blacklisted. - -**Uncensorable**: when transactions are invisible, they can’t be blocked, reversed, or selectively enforced. - -Check the [roadmap](https://zano.org/roadmap) for what’s coming next, or the [FAQ](/docs/learn/frequently-asked-questions) for common questions. diff --git a/docs/learn/whitepaper.md b/docs/learn/whitepaper.md index b026746..517e70c 100644 --- a/docs/learn/whitepaper.md +++ b/docs/learn/whitepaper.md @@ -6,23 +6,23 @@ sidebar_position: 3 For independent third-party audits of these protocols, see [Security Reviews](/docs/learn/reviews). -### Zano Whitepaper (2019) +### Lethean Whitepaper (2019) -Original Zano whitepaper, describes general concepts used in project. +Original Lethean whitepaper, describes general concepts used in project. -[https://github.com/hyle-team/docs/blob/master/zano/Zano_WP_latest.pdf](https://github.com/hyle-team/docs/blob/master/zano/Zano_WP_latest.pdf) +[https://github.com/lethean-io/blob/master/lethean/Lethean_WP_latest.pdf](https://github.com/lethean-io/blob/master/lethean/Lethean_WP_latest.pdf) ### PoS Analysis and improvements proposal (2019) With help of Maxwell Sanches we come up with more effective PoS model and upgraded the network, this document hold details of this research and improvement. -[https://github.com/hyle-team/docs/blob/master/zano/arch/PoS_Analysis_and_improvements_proposal.pdf](https://github.com/hyle-team/docs/blob/master/zano/arch/PoS_Analysis_and_improvements_proposal.pdf) +[https://github.com/lethean-io/blob/master/lethean/arch/PoS_Analysis_and_improvements_proposal.pdf](https://github.com/lethean-io/blob/master/lethean/arch/PoS_Analysis_and_improvements_proposal.pdf) ### Auditable wallets in CryptoNote (2020) This article explores several possible implementations of extending CryptoNote 2.0 with full-scale wallets auditing -[https://github.com/hyle-team/docs/blob/master/zano/arch/Auditing%20wallets%20in%20CryptoNote.pdf](https://github.com/hyle-team/docs/blob/master/zano/arch/Auditing%20wallets%20in%20CryptoNote.pdf) +[https://github.com/lethean-io/blob/master/lethean/arch/Auditing%20wallets%20in%20CryptoNote.pdf](https://github.com/lethean-io/blob/master/lethean/arch/Auditing%20wallets%20in%20CryptoNote.pdf) ### Zarcanum: A Proof-of-Stake Scheme for Confidential Transactions with Hidden Amounts (2021) @@ -30,15 +30,15 @@ Presenting a Proof-of-Stake mining scheme that does not reveal amounts and is co [https://eprint.iacr.org/2021/1478](https://eprint.iacr.org/2021/1478) -### Zano: Confidential Assets Scheme for RingCT and Zarcanum (2024) +### Lethean: Confidential Assets Scheme for RingCT and Zarcanum (2024) In this paper, we describe a practical way of implementing confidential assets (a.k.a. tokens or colored -coins) in Zano with unlimited decoy mixing capability and hidden amounts, as an extension to the Ring +coins) in Lethean with unlimited decoy mixing capability and hidden amounts, as an extension to the Ring Confidential Transactions scheme. Our approach preserves public verifiability that no transaction either creates or destroys coins. We further extend this approach to show how it can be combined with Zarcanum, a Proof-of-Stake scheme for transaction with hidden amounts -[https://hyle-team.github.io/docs/zano/CA_paper/Zano_CA_for_RingCT_and_Zarcanum_v1.1.pdf](https://hyle-team.github.io/docs/zano/CA_paper/Zano_CA_for_RingCT_and_Zarcanum_v1.1.pdf) +[https://hyle-team.github.io/docs/lethean/CA_paper/Lethean_CA_for_RingCT_and_Zarcanum_v1.1.pdf](https://hyle-team.github.io/docs/lethean/CA_paper/Lethean_CA_for_RingCT_and_Zarcanum_v1.1.pdf) ### d/v-CLSAG: Extension for Concise Linkable Spontaneous Anonymous Group Signatures (2024) @@ -52,19 +52,19 @@ Extension for the CLSAG (Concise Linkable Spontaneous Anonymous Group Signatures ## Archive: drafts and legacy docs for history and context -### Zano Tokenization Platform (2022) +### Lethean Tokenization Platform (2022) -Introducing a solution that allows users to issue tokens that work inside Zano blockchain, which have the same properties as transactions with a native token—namely hidden amounts and hidden addresses, as well as auditable wallets. +Introducing a solution that allows users to issue tokens that work inside Lethean blockchain, which have the same properties as transactions with a native token—namely hidden amounts and hidden addresses, as well as auditable wallets. Note: this paper used one of the early approach to implementing assets, when each asset has unique scalar identifier but common asset-type generator, it's now oudated. -[https://raw.githubusercontent.com/hyle-team/docs/master/zano/arch/Zano_tokenization_platform.pdf](https://raw.githubusercontent.com/hyle-team/docs/master/zano/arch/Zano_tokenization_platform.pdf) +[https://raw.githubusercontent.com/hyle-team/docs/master/lethean/arch/Lethean_tokenization_platform.pdf](https://raw.githubusercontent.com/hyle-team/docs/master/lethean/arch/Lethean_tokenization_platform.pdf) -### Zano: confidential assets scheme (2022 - DRAFT) +### Lethean: confidential assets scheme (2022 - DRAFT) -Paper describes a practical way of implementing confidential assets (a.k.a. tokens) in Zano with unlimited decoy mixing capability and hidden amounts as an extension to the Ring Confidential Transactions scheme +Paper describes a practical way of implementing confidential assets (a.k.a. tokens) in Lethean with unlimited decoy mixing capability and hidden amounts as an extension to the Ring Confidential Transactions scheme -[https://raw.githubusercontent.com/hyle-team/docs/master/zano/tokens_maths_paper/Zano__confidential_assets_with_hidden_amounts_DRAFT.pdf](https://raw.githubusercontent.com/hyle-team/docs/master/zano/tokens_maths_paper/Zano__confidential_assets_with_hidden_amounts_DRAFT.pdf) +[https://raw.githubusercontent.com/hyle-team/docs/master/lethean/tokens_maths_paper/Lethean__confidential_assets_with_hidden_amounts_DRAFT.pdf](https://raw.githubusercontent.com/hyle-team/docs/master/lethean/tokens_maths_paper/Lethean__confidential_assets_with_hidden_amounts_DRAFT.pdf) @@ -74,10 +74,11 @@ The following papers represent research toward a novel logarithmic-sized linkabl - Lin2-Xor Lemma and Log-size Linkable Ring Signature (2020) In this paper we introduce a novel method for constructing an efficient linkable ring signature without a trusted setup which is logarithmic in the size of the signer anonymity set, its verification complexity is linear in the anonymity set size - [https://github.com/hyle-team/docs/blob/master/zano/arch/Lin2-Xor_Lemma_and-Log-size_Linkable_Ring_Signature.pdf](https://github.com/hyle-team/docs/blob/master/zano/arch/Lin2-Xor_Lemma_and-Log-size_Linkable_Ring_Signature.pdf) + [https://github.com/lethean-io/blob/master/lethean/arch/Lin2-Xor_Lemma_and-Log-size_Linkable_Ring_Signature.pdf](https://github.com/lethean-io/blob/master/lethean/arch/Lin2-Xor_Lemma_and-Log-size_Linkable_Ring_Signature.pdf) - Hidden amounts scheme on the base of a ring signature for independent generators (2021) Draft of a hidden amounts scheme based on Lin2-Xor Linkable Ring Signature - [https://github.com/hyle-team/docs/blob/master/zano/arch/Hidden%20amounts%20scheme%20v6%20Sokolov.pdf](https://github.com/hyle-team/docs/blob/master/zano/arch/Hidden%20amounts%20scheme%20v6%20Sokolov.pdf) + [https://github.com/lethean-io/blob/master/lethean/arch/Hidden%20amounts%20scheme%20v6%20Sokolov.pdf](https://github.com/lethean-io/blob/master/lethean/arch/Hidden%20amounts%20scheme%20v6%20Sokolov.pdf) - Log-size Linkable Ring Signature and Hidden Amounts integrated listing (2021) Unified pseudo-code listing for the Lin2-Xor Signature and Hidden Amounts schemes - [https://github.com/hyle-team/docs/blob/master/zano/arch/Log-size%20Linkable%20Ring%20Signature%20and%20Hid-den%20Amounts%20integrated%20listing%20v3.pdf](https://github.com/hyle-team/docs/blob/master/zano/arch/Log-size%20Linkable%20Ring%20Signature%20and%20Hid-den%20Amounts%20integrated%20listing%20v3.pdf) + [https://github.com/lethean-io/blob/master/lethean/arch/Log-size%20Linkable%20Ring%20Signature%20and%20Hid-den%20Amounts%20integrated%20listing%20v3.pdf](https://github.com/lethean-io/blob/master/lethean/arch/Log-size%20Linkable%20Ring%20Signature%20and%20Hid-den%20Amounts%20integrated%20listing%20v3.pdf) + diff --git a/docs/learn/zano-features/_category_.json b/docs/learn/zano-features/_category_.json deleted file mode 100644 index bd00eae..0000000 --- a/docs/learn/zano-features/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Zano Features", - "position": 2 -} diff --git a/docs/learn/zano-features/overview.md b/docs/learn/zano-features/overview.md deleted file mode 100644 index 2f3bbdb..0000000 --- a/docs/learn/zano-features/overview.md +++ /dev/null @@ -1,127 +0,0 @@ -# Overview - -## Zano's Values - -### Privacy - -Every transaction on Zano is private at the protocol level. Amounts, addresses, and asset types are hidden by default. Only you decide what to reveal. - -### Security - -A hybrid PoW/PoS consensus algorithm makes attacks on Zano infeasible. An attacker would need both majority hashrate and a large share of staked coins at the same time. - -### Stability - -Zano's codebase has been live and tested since the Boolberry days, over a decade of production use. The network is stable, and new releases go through extensive testing before deployment. - -### Decentralization - -Anyone can participate in the network. There are no validator nodes (master nodes), no minimum staking amounts, and no lock-up times. Mine, stake, or just use it. - -### Fungibility - -No coin is tainted. No blacklists. Hidden transaction history makes every ZANO identical. Unlike transparent blockchains where coins can be flagged or rejected based on their history, Zano's privacy guarantees mean every coin is equal. - -### Uncensorable - -When transactions are invisible, they can't be blocked, reversed, or selectively enforced. Privacy at the protocol level means no one can discriminate against specific transactions or addresses. - -### Easy to use - -Desktop, mobile, and third-party wallets. A browser extension for dApps. Documentation that covers the basics and the deep stuff. We try to make privacy practical, not just possible. - -## Technologies - -Zano was built from scratch, not forked. The technologies below are what make it work. Each one has a corresponding [research paper](/docs/learn/whitepaper). - -### Hybrid PoW/PoS consensus - -Zano alternates between Proof-of-Work and Proof-of-Stake blocks. The PoS side uses Zarcanum, the first scheme where stakers don’t reveal their balances. A 51% attack would require majority hashrate **and** a large share of staked coins simultaneously, which makes it impractical. - -### Untraceable transactions - -Transactions are hidden using **d/v-CLSAG Ring Signatures** (hide the sender) and **Stealth Addresses** (hide the receiver and asset type). Only the parties involved in a transaction can see its details. - -### Amount privacy - -**Bulletproofs+** hide the amounts in every transaction. The proofs verify that inputs and outputs balance (no coins created or destroyed) without revealing the actual numbers. - -### Escrow contracts - -Both parties lock a deposit into a contract. If either side tries to cheat, they lose their deposit. No intermediary needed. This is how Zano Trade’s P2P platform settles trades. - -### Aliases - -Register a human-readable name like @username instead of using a long address. Aliases are on-chain and already used for the Zano Messenger, dApp authentication, and receiving payments. - -### Marketplace API - -Create, update, or deactivate on-chain offers. Once published, offers are visible to everyone on the network. Anyone can build a decentralized store on top of this. - -### Ionic Swaps - -An improvement on atomic swaps. Two parties exchange assets peer-to-peer with full privacy, and neither side can cheat or gain an unfair advantage. This is what powers the DEX. - -### Zarcanum: anonymous Proof of Stake - -The first PoS scheme where stakers don’t reveal their balances or identity. You earn staking rewards without exposing how much you hold. Nobody else has done this. - -### Auditable wallets - -Opt-in transparency for when a third party needs to verify balances. Useful for organizations, funds, and compliance. Enabling it on one wallet doesn’t weaken privacy for anyone else on the network. - -### Confidential Assets - -Issue your own tokens on Zano. They get the same privacy as native ZANO: hidden addresses, hidden amounts, hidden asset type. Private stablecoins, wrapped assets, whatever you need. No separate blockchain required. - -## Products - -These are the products built on Zano's tech stack. Anyone can build on top of the same technologies. - -### Zano Trade: P2P trading - -Peer-to-peer trading using escrow contracts. Both parties lock collateral, so neither can walk away. Trade any crypto or fiat without a middleman. - -### Zano Trade: DEX - -Trade ZANO and Confidential Assets with on-chain order matching and Ionic Swaps. No registration. The asset type, amount, and addresses involved are all hidden. - -### Zano Governance - -Anonymous on-chain voting for stakers. Network participants vote on protocol decisions without revealing their identity or stake. - -### FUSD - -A private stablecoin on Zano. Send dollars without anyone knowing how much, to whom, or when. Built as a Confidential Asset, FUSD has the same privacy guarantees as native ZANO. - -### Zano Stats - -Live blockchain explorer with network analytics, staking data, and market insights. Available at [zanostats.com](https://zanostats.com). - -### Zano Wallets - -- **Desktop**: Full-node wallet with all features including staking. -- **Mobile**: Remote-node wallet, everything except staking. -- **Third-party**: [Cake Wallet](https://cakewallet.com), [Bitcoin.com](https://bitcoin.com) wallet, [Edge Wallet](https://edge.app). - -### Zano Companion - -Browser extension that connects the desktop wallet to web-based dApps. Handles authentication and transaction signing. - -### Zano MCP - -An [MCP server](https://github.com/PRavaga/zano-mcp) that connects AI agents (Claude Code, Cursor, Windsurf, and other MCP-compatible tools) to the Zano blockchain. 45+ tools for querying blocks, wallets, assets, DEX order books, and trading data. See the [blog post](https://blog.zano.org/zano-mcp-give-your-ai-agent-eyes-on-a-privacy-blockchain/) for setup and use cases. - -## Wider ecosystem - -- **[Wrapped Zano](https://wrapped.zano.org)** — WZANO, an ERC-20 token on Ethereum. Exchangeable 1:1 for native ZANO. -- **[Obscura](https://obscura.zano.org)** — Private NFT minting and management. -- **[Zano Messenger](/docs/use/zano-matrix-guide)** — Encrypted communication built on Matrix, linked to your Zano alias. -- **[Bridgeless](https://bridgeless.com)** — Non-custodial bridge between public and privacy blockchains. Uses Zano gateway addresses with ETH-compatible signatures for cross-chain asset commands. -- **[Zano Bay](https://zanobay.com)** — Private marketplace for buying and selling goods. -- **[Bandit City](https://bandit.city)** — Community hub with its own token and staking. -- **[Alias Auction](https://auction.zano.org)** — Bid on @usernames registered on-chain. -- **[Zano Pay](https://pay.zano.org)** — Payment widgets for any website. -- **[Zano Cash POS](https://zanocash.com)** — Point-of-sale for physical shops. - -Full list at [zano.org/ecosystem](https://zano.org/ecosystem). diff --git a/docs/mine/overview.md b/docs/mine/overview.md index b253aaa..6ebb051 100644 --- a/docs/mine/overview.md +++ b/docs/mine/overview.md @@ -2,8 +2,71 @@ sidebar_position: 1 --- -# Mining Zano +# Mining Lethean -Zano uses ProgPoWZ for its mining algorithm, it's ASIC-resistant which means that it can only be mined using graphics cards. +Lethean uses **ProgPoWZ** for Proof of Work mining and a hybrid PoW/PoS consensus — blocks alternate between mined (PoW) and staked (PoS). Attacking the network requires both hashpower and stake. -The best way to support and further decentralize the network is to solo-mine it, we have prepared guides to help you get started. +### Quick Start (Solo Mining) + +The simplest way to mine is using the daemon's built-in CPU miner: + +```bash +# Start the daemon +./lethean-chain-node --data-dir ./chain-data + +# Start mining (in another terminal) +curl -X POST http://127.0.0.1:36941/start_mining \ + -H 'Content-Type: application/json' \ + -d '{"miner_address":"YOUR_iTHN_ADDRESS","threads_count":4}' + +# Check if mining is working +curl -X POST http://127.0.0.1:36941/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"getinfo"}' + +# Stop mining +curl -X POST http://127.0.0.1:36941/stop_mining \ + -H 'Content-Type: application/json' +``` + +### Mining Details + +| Parameter | Value | +|-----------|-------| +| Algorithm | ProgPoWZ | +| Block time | 120 seconds | +| Block reward | 1 LTHN | +| Coin unlock | 10 confirmations (~20 minutes) | +| Difficulty adjustment | Tri-zone weighted average (720-block window) | + +### Pool Mining + +Pool operators can integrate Lethean using the [`lethean-util`](https://github.com/lethean-io) Node.js native addon, which provides: + +- `convert_blob` — block template conversion +- `get_pow_hash` — PoW hash computation +- `is_address_valid` — miner address validation +- `address_decode` — address decoding +- `get_blob_from_block_template` — block construction + +The daemon's `getblocktemplate` RPC provides block templates for pool mining: + +```bash +curl -X POST http://127.0.0.1:36941/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"getblocktemplate","params":{"wallet_address":"YOUR_iTHN_ADDRESS"}}' +``` + +Mined blocks are submitted via `submitblock`: + +```bash +curl -X POST http://127.0.0.1:36941/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"submitblock","params":["BLOCK_BLOB_HEX"]}' +``` + +### GPU Mining + +For GPU mining with dedicated miners (e.g. progminer), point the miner at the daemon's stratum-compatible endpoint. Configuration varies by miner software. + +> **Verified:** Solo mining tested on Lethean testnet using the `/start_mining` HTTP endpoint. Blocks confirmed at height 10,641+ with 1 LTHN reward each. The `getblocktemplate` RPC returns valid templates with `convert_blob` producing 81-byte blobs for hashing. diff --git a/docs/mine/solo-guides/solo-mining-windows.md b/docs/mine/solo-guides/solo-mining-windows.md index d786af1..527c5e6 100644 --- a/docs/mine/solo-guides/solo-mining-windows.md +++ b/docs/mine/solo-guides/solo-mining-windows.md @@ -1,6 +1,6 @@ # Windows -The Zano daemon features an internal stratum-like server that can serve miner clients via the ethProxy protocol. It works like a very light and simple pool that mines to a single address. +The Lethean daemon features an internal stratum-like server that can serve miner clients via the ethProxy protocol. It works like a very light and simple pool that mines to a single address. :::caution Requirements @@ -10,15 +10,15 @@ A 2GB graphic card is required for GPU mining. ## Solo Mining in Windows (AMD & NVIDIA) -### Step 1: Set up the Zano node +### Step 1: Set up the Lethean node -- First, install the Zano app, open the wallet, and wait until blockchain syncing is complete, when the syncing process is complete, close the app. +- First, install the Lethean app, open the wallet, and wait until blockchain syncing is complete, when the syncing process is complete, close the app. -- Locate where your Zano node executable (`zanod.exe`) is. +- Locate where your Lethean node executable (`lethean-chain-node.exe`) is. - By default, it's in `C:\Program Files\Zano` + By default, it's in `C:\Program Files\Lethean` ### Step 2: Download and Configure TT-Miner @@ -26,32 +26,32 @@ A 2GB graphic card is required for GPU mining. -- In the extracted folder, create a text file named `start-zano-mining` +- In the extracted folder, create a text file named `start-lethean-mining` - Paste the following content inside: ``` - rem starts zano with the stratum server activated - start "" "C:\Program Files\Zano\zanod.exe" --stratum --stratum-miner-address=YOUR_WALLET_ADDRESS --stratum-bind-port=11555 + rem starts lethean with the stratum server activated + start "" "C:\Program Files\Lethean\lethean-chain-node.exe" --stratum --stratum-miner-address=YOUR_WALLET_ADDRESS --stratum-bind-port=11555 rem TT commandline - start TT-Miner.exe -luck -c ZANO -P miner@127.0.0.1:11555 + start TT-Miner.exe -luck -c LTHN -P miner@127.0.0.1:11555 pause ``` -- Replace `YOUR_WALLET_ADDRESS` with your actual Zano wallet address. +- Replace `YOUR_WALLET_ADDRESS` with your actual Lethean wallet address. -- If your installation is not in the default location, replace `C:\Program Files\Zano` with the correct path. +- If your installation is not in the default location, replace `C:\Program Files\Lethean` with the correct path. -- Once you finish editing, if using Notepad, select `file` option, then `save as`, an add a `.bat` to the end of your file name (`start-zano-mining.bat`), this will make it executable. +- Once you finish editing, if using Notepad, select `file` option, then `save as`, an add a `.bat` to the end of your file name (`start-lethean-mining.bat`), this will make it executable. ### Step 3: Start Mining -- Double-click `start-zano-mining.bat` to run TT-Miner & Zano node, verify that it's working as intended. +- Double-click `start-lethean-mining.bat` to run TT-Miner & Lethean node, verify that it's working as intended. :::info -If your `zanod.exe` instance fails to start, make sure that there isn't another one running, and close your Zano desktop wallet if you haven't done so already. +If your `lethean-chain-node.exe` instance fails to start, make sure that there isn't another one running, and close your Lethean desktop wallet if you haven't done so already. ::: @@ -67,14 +67,15 @@ If your `zanod.exe` instance fails to start, make sure that there isn't another The `Startup` folder will be opened -- Go back to your TT-miner folder, right-click `start-zano-mining.bat` and select Create Shortcut +- Go back to your TT-miner folder, right-click `start-lethean-mining.bat` and select Create Shortcut - Copy the new shortcut to the previous `Startup` folder, now the script will be executed whenever your PC starts. :::info -Remember that to open your Zano desktop wallet, you must first close all zanod.exe instances. +Remember that to open your Lethean desktop wallet, you must first close all lethean-chain-node.exe instances. ::: -Visit our Mining-Talk channels on our [Discord and Telegram](https://links.zano.org) if you need more assistance or want to discuss, happy mining! +Visit our Mining-Talk channels on our [Discord and Telegram](https://links.lethean.io) if you need more assistance or want to discuss, happy mining! + diff --git a/docs/mine/solo-guides/solo_mining_amd.md b/docs/mine/solo-guides/solo_mining_amd.md index ac0e9f5..88f52bf 100644 --- a/docs/mine/solo-guides/solo_mining_amd.md +++ b/docs/mine/solo-guides/solo_mining_amd.md @@ -4,10 +4,10 @@ ### Step 1: Synchronize the Daemon -Open a terminal in the directory with `zanod`, and run it: [^1] +Open a terminal in the directory with `lethean-chain-node`, and run it: [^1] ``` -./zanod +./lethean-chain-node ``` Allow the daemon to synchronize, while we complete other steps. @@ -95,10 +95,10 @@ Since Ubuntu doesn't come with AMD's OpenCL driver, which is necessary for minin ### Step 4: Starting Wildrig Miner -Once your node is fully synced, stop it (ctl+c). In the same terminal, restart `zanod` with the following flags, substituting your wallet address for `` +Once your node is fully synced, stop it (ctl+c). In the same terminal, restart `lethean-chain-node` with the following flags, substituting your wallet address for `` ``` -./zanod --stratum --stratum-bind-port=11555 --stratum-miner-address= +./lethean-chain-node --stratum --stratum-bind-port=11555 --stratum-miner-address= ``` The daemon should start, displaying this screen. @@ -129,10 +129,10 @@ And if you switch to the terminal with your daemon running, you should now see t
-

Congratulations, you're solo mining Zano!

+

Congratulations, you're solo mining Lethean!

-[^1]: This guide assumes you have already installed, and can use, a CLI wallet and its daemon. If you haven't, see those guides [here](https://docs.zano.org/docs/install-zano-cli-wallet-ubuntu) and [here](https://docs.zano.org/docs/using-zano-cli-wallet), respectively. +[^1]: This guide assumes you have already installed, and can use, a CLI wallet and its daemon. If you haven't, see those guides [here](https://testnet-docs.lthn.io/docs/install-lethean-cli-wallet-ubuntu) and [here](https://testnet-docs.lthn.io/docs/using-lethean-cli-wallet), respectively. [^2]: Be aware that Wildrig has a 1.0% fee. @@ -141,3 +141,4 @@ And if you switch to the terminal with your daemon running, you should now see t [^4]: If you don't include `sudo` in this command, it's likely that your GPU will not be displayed under devices. [^5]: Note again the need to give `sudo` here. + diff --git a/docs/mine/solo-guides/solo_mining_nvidia.md b/docs/mine/solo-guides/solo_mining_nvidia.md index 111c2e8..13588a1 100644 --- a/docs/mine/solo-guides/solo_mining_nvidia.md +++ b/docs/mine/solo-guides/solo_mining_nvidia.md @@ -4,10 +4,10 @@ ### Step 1: Synchronize the Daemon -Open a terminal in the directory with `zanod`, and run it: [^1] +Open a terminal in the directory with `lethean-chain-node`, and run it: [^1] ``` -./zanod +./lethean-chain-node ``` Allow the daemon to synchronize, while we complete other steps. @@ -27,22 +27,22 @@ tar -xf TT-Miner-2023.1.0.tar.gz rm TT-Miner-2023.1.0.tar.gz ``` -Enter the new TT-Miner directory, and open `ZANO-SOLO.sh`using Nano (or other text editor): +Enter the new TT-Miner directory, and open `LTHN-SOLO.sh`using Nano (or other text editor): ``` cd TT-Miner -nano ZANO-SOLO.sh +nano LTHN-SOLO.sh ``` Note the contents. They provide the basic instructions for setting up TT-Miner (though they will require slight modifications): -> rem \* Your call to start the ZANO stratrum should look like this. You have to replace `` -> rem \* with the address of your ZANO-Wallet +> rem \* Your call to start the LTHN stratrum should look like this. You have to replace `` +> rem \* with the address of your LTHN-Wallet > -> rem zanod.exe --stratum --stratum-miner-address=`` --stratum-bind-port=11555 +> rem lethean-chain-node.exe --stratum --stratum-miner-address=`` --stratum-bind-port=11555 > > rem TT commandline -> ./TT-Miner -luck -coin ZANO -P ``@127.0.0.1:11555 +> ./TT-Miner -luck -coin LTHN -P ``@127.0.0.1:11555 > pause Exit Nano (`ctl+x`), but leave the terminal and directory open; we'll return to it soon. @@ -86,15 +86,15 @@ nvcc --version ### Step 4: Starting TT-Miner -Once your node is fully synced, stop it (`ctl+c`). In the same terminal, restart `zanod` with the following flags, taken from the above `ZANO-SOLO.sh` file: +Once your node is fully synced, stop it (`ctl+c`). In the same terminal, restart `lethean-chain-node` with the following flags, taken from the above `LTHN-SOLO.sh` file: ```bash -./zanod --stratum --stratum-miner-address= --stratum-bind-port=11555 +./lethean-chain-node --stratum --stratum-miner-address= --stratum-bind-port=11555 ``` -Note the above has two important adjustments from what is given in `ZANO-SOLO.SH`: +Note the above has two important adjustments from what is given in `LTHN-SOLO.SH`: -- You must account for Linux, substituing `zanod.exe` with `./zanod`. +- You must account for Linux, substituing `lethean-chain-node.exe` with `./lethean-chain-node`. - You must replace ``, with your wallet's **receive address** (note this is neither your rig nor wallet name). @@ -115,12 +115,12 @@ But if there are no other problems, the daemon should start, eventually confimin -We're ready to run TT-Miner. Open a new terminal in the same directory as both `ZANO-SOLO.sh` and `TT-Miner` . +We're ready to run TT-Miner. Open a new terminal in the same directory as both `LTHN-SOLO.sh` and `TT-Miner` . Give the command: ``` -./TT-Miner -luck -coin ZANO -u miner -o 127.0.0.1:11555 +./TT-Miner -luck -coin LTHN -u miner -o 127.0.0.1:11555 ``` The miner should start, displaying your statistics: @@ -136,9 +136,10 @@ And if you switch to the terminal with your daemon running, you should now see t
-

Congratulations, you're solo mining Zano!

+

Congratulations, you're solo mining Lethean!

-[^1]: This guide assumes you've already installed, and can use, a CLI wallet and its daemon. If you haven't, see those guides [here](https://docs.zano.org/docs/use/wallets/install-zano-cli-wallet-ubuntu) and [here](https://docs.zano.org/docs/use/wallets/using-zano-cli-wallet-ubuntu), respectively. +[^1]: This guide assumes you've already installed, and can use, a CLI wallet and its daemon. If you haven't, see those guides [here](https://testnet-docs.lthn.io/docs/use/wallets/install-lethean-cli-wallet-ubuntu) and [here](https://testnet-docs.lthn.io/docs/use/wallets/using-lethean-cli-wallet-ubuntu), respectively. [^2]: If you get the following error, you'll need to install Cuda: `./TT-Miner: error while loading shared libraries: libcuda.so.1: cannot open shared object file: No such file or directory.` + diff --git a/docs/stake/_category_.json b/docs/stake/_category_.json index 71f19c8..e935d08 100644 --- a/docs/stake/_category_.json +++ b/docs/stake/_category_.json @@ -3,6 +3,6 @@ "position": 3, "link": { "type": "generated-index", - "description": "Learn how to stake Zano and earn rewards through Proof-of-Stake mining." + "description": "Learn how to stake Lethean and earn rewards through Proof-of-Stake mining." } -} \ No newline at end of file +} diff --git a/docs/stake/advanced-setup/remote-server-pos.md b/docs/stake/advanced-setup/remote-server-pos.md index d621fca..b4de7ee 100644 --- a/docs/stake/advanced-setup/remote-server-pos.md +++ b/docs/stake/advanced-setup/remote-server-pos.md @@ -6,9 +6,9 @@ sidebar_position: 1 In certain situations, performing Staking/PoS mining without the GUI application may be necessary. The following steps provide guidance on how to accomplish this: -1. Download [Zano daemon (zanod executable)](https://zano.org/downloads) and simplewallet or build them following the [instructions](https://docs.zano.org/docs/build/building-from-sources). -2. Ensure that no other instance of Zano is running at the moment; close it if necessary. -3. Navigate to the Zano folder. +1. Download [Lethean daemon (lethean-chain-node executable)](https://downloads.lthn.io) and lethean-wallet-cli or build them following the [instructions](https://testnet-docs.lthn.io/docs/build/building-from-sources). +2. Ensure that no other instance of Lethean is running at the moment; close it if necessary. +3. Navigate to the Lethean folder. 4. For the next steps, you will need to launch two processes (node and wallet) and keep them running. The method differs based on your operating system. For desktop OS such as MacOS, Windows, or Ubuntu Desktop, launch a terminal window instance for both the node and wallet, and leave it running. In this case, **you can skip this step and proceed with the subsequent steps.** If you're connecting to a remote server or using a Unix-like system or MacOS, consider using virtual session managers like the screen command. Here's an example of creating a new virtual console with it: ``` @@ -17,13 +17,13 @@ screen -S session_name Learn more about using **screen** [here](https://www.gnu.org/software/screen/manual/screen.html). -6. Next, start the node daemon **zanod** with the following console command: +6. Next, start the node daemon **lethean-chain-node** with the following console command: ``` -zano_install_path\zanod +lethean_install_path\lethean-chain-node ``` -NOTE: For MacOS bundle binary (both zanod and simplewallet) located in /Applications/**Zano.app/Contents/MacOS/** folder, ensure you use the correct path to launch the binary. +NOTE: For MacOS bundle binary (both lethean-chain-node and lethean-wallet-cli) located in /Applications/**Lethean.app/Contents/MacOS/** folder, ensure you use the correct path to launch the binary. It's better to wait until the daemon is synchronized. You'll know this has happened when you see the following string in the console output: @@ -31,10 +31,10 @@ It's better to wait until the daemon is synchronized. You'll know this has happe Synchronized set to TRUE ``` -7. Start simplewallet with PoS mining enabled: +7. Start lethean-wallet-cli with PoS mining enabled: ``` -./simplewallet --wallet-file=PATH_TO_WALLET_FILE --rpc-bind-port=RPC_PORT_NUMBER --do-pos-mining --deaf +./lethean-wallet-cli --wallet-file=PATH_TO_WALLET_FILE --rpc-bind-port=RPC_PORT_NUMBER --do-pos-mining --deaf ``` NOTE: RPC\_PORT\_NUMBER should be any port number not in use by your system. It will be used by the RPC server. The --deaf option puts the server in a mode where no other programs can perform any RPC requests to the wallet service, which is recommended for security concerns. @@ -42,17 +42,18 @@ NOTE: RPC\_PORT\_NUMBER should be any port number not in use by your system. It Some of the parameters are required, and some are optional. Here's what they mean: - `--wallet-file=PATH_TO_WALLET_FILE` (required) — sets the path to the wallet file where your coins are; -- `--rpc-bind-port=RPC_PORT_NUMBER` (required) — sets the TCP listening port number of the simplewallet RPC server and switches simplewallet into RPC mode. You can use any free TCP port number you want from 0 to 65535, like 55555. If this option is not used, simplewallet will start in normal CLI mode and PoS mining won't be available; +- `--rpc-bind-port=RPC_PORT_NUMBER` (required) — sets the TCP listening port number of the lethean-wallet-cli RPC server and switches lethean-wallet-cli into RPC mode. You can use any free TCP port number you want from 0 to 65535, like 55555. If this option is not used, lethean-wallet-cli will start in normal CLI mode and PoS mining won't be available; - `--do-pos-mining` (required) — starts PoS mining; - `--log-level=LOG_LEVEL` (optional) — sets the log level, possible values are from 0 (less verbose) to 4 (extremely verbose). May be useful for debugging. Default is 0; -- `--log-file=PATH_TO_LOG` (optional) — sets path to the log file. Default is 'simplewallet.log' in the same folder where simplewallet binary is located; -- `--deaf` (optional) — turns on so called 'deaf mode'. simplewallet's RPC server will reject any requests with error 500. This is useful if you just want to mine PoS and don't want that anyone would be able to do RPCs on your wallet. **Highly recommend**. Default: off; +- `--log-file=PATH_TO_LOG` (optional) — sets path to the log file. Default is 'lethean-wallet-cli.log' in the same folder where lethean-wallet-cli binary is located; +- `--deaf` (optional) — turns on so called 'deaf mode'. lethean-wallet-cli's RPC server will reject any requests with error 500. This is useful if you just want to mine PoS and don't want that anyone would be able to do RPCs on your wallet. **Highly recommend**. Default: off; Here's a real-world example of the command using recommended options (**don't forget to tailor it to your needs**): ``` -../zano/build/src/simplewallet --wallet-file=zw3b --rpc-bind-port=50005 --do-pos-mining --log-level=0 --log-file=/home/user/zano/wallets/zw3b.log +../lethean/build/src/lethean-wallet-cli --wallet-file=zw3b --rpc-bind-port=50005 --do-pos-mining --log-level=0 --log-file=/home/user/lethean/wallets/zw3b.log --deaf ``` Note: If for some reason you would like to recieve staking rewards to separate wallet, you can use `--pos-mining-reward-address=REWARD_ADDR` command line option, it sets an explicit address for receiving mining rewards. By default, all rewards will be received by the same wallet where staking coins are, so its balance will be gradually increasing. If you use this option, staking coins will be kept in the main wallet (specified by--wallet-file parameter), and mining rewards will be sent to the specified REWARD\_ADDR. In such a case, the balance of the main wallet won't be changing due to the mining process. + diff --git a/docs/stake/advanced-setup/stake-zano-on-boot.mdx b/docs/stake/advanced-setup/stake-lethean-on-boot.mdx similarity index 57% rename from docs/stake/advanced-setup/stake-zano-on-boot.mdx rename to docs/stake/advanced-setup/stake-lethean-on-boot.mdx index 46f9107..35ba79d 100644 --- a/docs/stake/advanced-setup/stake-zano-on-boot.mdx +++ b/docs/stake/advanced-setup/stake-lethean-on-boot.mdx @@ -2,11 +2,11 @@ sidebar_position: 2 --- -# Guide: Stake Zano automatically on system startup +# Guide: Stake Lethean automatically on system startup ## Introduction -Staking is an important aspect of Zano, users should be able to effortlessly stake their Zano upon system startup without any intervention, for this we'll use PM2. PM2 makes it possible to daemonize applications so that they will run in the background as a service. +Staking is an important aspect of Lethean, users should be able to effortlessly stake their Lethean upon system startup without any intervention, for this we'll use PM2. PM2 makes it possible to daemonize applications so that they will run in the background as a service. ## Install Node.js & NPM @@ -64,39 +64,39 @@ pm2-startup install sudo npm install pm2@latest -g ``` -## Get the Zano Binaries +## Get the Lethean Binaries -We need to get the zanod and simplewallet binaries in order to run things in CLI mode. +We need to get the lethean-chain-node and lethean-wallet-cli binaries in order to run things in CLI mode. ### Windows -Head to [https://zano.org/downloads](https://zano.org/downloads), download the .ZIP file for Windows and extract it in a folder. +Head to [https://downloads.lthn.io](https://downloads.lthn.io), download the .ZIP file for Windows and extract it in a folder. ### Linux -Binaries can be extracted from the AppImage available on [https://zano.org/downloads](https://zano.org/downloads) or the GitHub repository, see the following steps to extract from the AppImage: +Binaries can be extracted from the AppImage available on [https://downloads.lthn.io](https://downloads.lthn.io) or the GitHub repository, see the following steps to extract from the AppImage: -1. Go to the folder containing the Zano wallet AppImage file and mark it as executable by right-clicking it: `Properties > Permissions > 'Allow executing file as program'` +1. Go to the folder containing the Lethean wallet AppImage file and mark it as executable by right-clicking it: `Properties > Permissions > 'Allow executing file as program'` -2. Rename the file to `zano-linux.AppImage` +2. Rename the file to `lethean-linux.AppImage` 3. Open a terminal inside that same folder and type the following command: ``` -./zano-linux.AppImage --appimage-mount +./lethean-linux.AppImage --appimage-mount ``` Which will then show you a temp mountpoint, this will look something like: -`/tmp/.mount_zano-lHATDRi` +`/tmp/.mount_lethean-lHATDRi` -2. Navigate to this folder, (you may need to check **'show hidden files'**) then go to the `usr > bin` folder and copy zanod and simplewallet to a folder of your choosing. +2. Navigate to this folder, (you may need to check **'show hidden files'**) then go to the `usr > bin` folder and copy lethean-chain-node and lethean-wallet-cli to a folder of your choosing. -![](/img/stake/stake-on-boot-guide/extracted-zano-binaries.png) +![](/img/stake/stake-on-boot-guide/extracted-lethean-binaries.png) -## Set your Zano CLI wallet +## Set your Lethean CLI wallet -Open a terminal (PowerShell on Windows) from the folder containing the zanod and simplewallet binaries (Extracted .zip on Windows). +Open a terminal (PowerShell on Windows) from the folder containing the lethean-chain-node and lethean-wallet-cli binaries (Extracted .zip on Windows). :::info How to open PowerShell from inside a folder on Windows @@ -107,41 +107,41 @@ Open the folder, then while holding `shift-key`, right-click on an empty space i Inside the terminal paste the following command (change example.wallet to a name for your wallet file): ``` -./simplewallet --restore-wallet example.wallet +./lethean-wallet-cli --restore-wallet example.wallet ``` You will be prompted to create a password for it, once you do, it will ask you to enter your wallet's seedphrase. -Exit simplewallet by pressing `Ctrl key` and `C` +Exit lethean-wallet-cli by pressing `Ctrl key` and `C` ## Automate processes with PM2 -Now we want to start both zanod and simplewallet using PM2 process manager. +Now we want to start both lethean-chain-node and lethean-wallet-cli using PM2 process manager. -### Start zanod +### Start lethean-chain-node Inside the previously opened terminal, paste the following commands: #### Windows ``` -pm2 start zanod.exe +pm2 start lethean-chain-node.exe ``` #### Linux ``` -pm2 start zanod +pm2 start lethean-chain-node ``` -### Start simplewallet +### Start lethean-wallet-cli In the command below, replace `example.wallet` and ` `with your corresponding ones. #### Windows ``` -pm2 start simplewallet.exe -- start -- --wallet-file example.wallet --password --rpc-bind-ip 127.0.0.1 --rpc-bind-port 11212 --daemon-address 127.0.0.1:11211 --do-pos-mining +pm2 start lethean-wallet-cli.exe -- start -- --wallet-file example.wallet --password --rpc-bind-ip 127.0.0.1 --rpc-bind-port 36944 --daemon-address 127.0.0.1:36941 --do-pos-mining ``` :::info @@ -153,7 +153,7 @@ The error: `Script not found: ...\start` is expected, you can ignore it. #### Linux ``` -pm2 start simplewallet -- --wallet-file example.wallet --password --rpc-bind-ip 127.0.0.1 --rpc-bind-port 11212 --daemon-address 127.0.0.1:11211 --do-pos-mining +pm2 start lethean-wallet-cli -- --wallet-file example.wallet --password --rpc-bind-ip 127.0.0.1 --rpc-bind-port 36944 --daemon-address 127.0.0.1:36941 --do-pos-mining ``` ### PM2 tips @@ -188,7 +188,7 @@ This isn't an extensive howto on PM2, check here to learn more on PM2: ## Persist processes to run on startup -In order to persist zanod and simplewallet to auto-run on startup, run the following command: +In order to persist lethean-chain-node and lethean-wallet-cli to auto-run on startup, run the following command: #### Windows @@ -227,7 +227,7 @@ pm2 cleardump pm2 save ``` -(To re-enable it you will need to follow the [steps](https://docs.zano.org/docs/stake/stake-zano-on-boot#automate-processes-with-pm2) to start zanod and simplewallet again) +(To re-enable it you will need to follow the [steps](https://testnet-docs.lthn.io/docs/stake/stake-lethean-on-boot#automate-processes-with-pm2) to start lethean-chain-node and lethean-wallet-cli again) #### Linux @@ -237,13 +237,13 @@ pm2 unstartup ## Monitor your staking -Open `simplewallet.txt` inside the folder you have been working on to check your staking activity, it should look something like this (after your node finishes syncing): +Open `lethean-wallet-cli.txt` inside the folder you have been working on to check your staking activity, it should look something like this (after your node finishes syncing): -`[Date/time] [RPC0][W:ZxDxxx] PoS mining: 0 iterations finished (0.00s), status: NOT_FOUND, 0 entries with total amount: 0.0` +`[Date/time] [RPC0][W:iTHNxx] PoS mining: 0 iterations finished (0.00s), status: NOT_FOUND, 0 entries with total amount: 0.0` ## Things to note -**If you want to open your Zano desktop wallet (GUI)**, you will need to stop the processes otherwise your wallet will not start, you can start and stop the processes using the following commands: +**If you want to open your Lethean desktop wallet (GUI)**, you will need to stop the processes otherwise your wallet will not start, you can start and stop the processes using the following commands: ``` pm2 stop @@ -255,4 +255,5 @@ pm2 start ## Conclusion -You're now staking your Zano, on system startup automatically. +You're now staking your Lethean, on system startup automatically. + diff --git a/docs/stake/getting-started/_category_.json b/docs/stake/getting-started/_category_.json index 3cd75d5..28ded7c 100644 --- a/docs/stake/getting-started/_category_.json +++ b/docs/stake/getting-started/_category_.json @@ -3,6 +3,6 @@ "position": 2, "link": { "type": "generated-index", - "description": "Learn the basics of staking Zano and start earning rewards." + "description": "Learn the basics of staking Lethean and start earning rewards." } -} \ No newline at end of file +} diff --git a/docs/stake/getting-started/estimating-pos-rewards.md b/docs/stake/getting-started/estimating-pos-rewards.md index 55330cf..8ca347d 100644 --- a/docs/stake/getting-started/estimating-pos-rewards.md +++ b/docs/stake/getting-started/estimating-pos-rewards.md @@ -4,7 +4,7 @@ sidebar_position: 2 # Estimating PoS Rewards -Proof-of-stake earnings depend on the current PoS difficulty and the number of coins being staked. The more coins you stake, the better chance you have to "win" the right to sign the next PoS block. Of course, it's important to estimate your chances and predict how much you can earn in some way. **The most straightforward way to do so is to use the community-made [Staking Simulator](https://zanostats.com/staking).** +Proof-of-stake earnings depend on the current PoS difficulty and the number of coins being staked. The more coins you stake, the better chance you have to "win" the right to sign the next PoS block. Of course, it's important to estimate your chances and predict how much you can earn in some way. **The most straightforward way to do so is to use the community-made [Staking Simulator](https://letheanstats.com/staking).** :::note @@ -16,7 +16,7 @@ Please keep in mind that this is just an estimation and can vary heavily. Simila You can calculate your estimation manually using the following approach: -First, we need to get the current PoS difficulty, which can be found in the [block explorer](https://explorer.zano.org/). This value is then divided by `1000000000000=10¹²`, which in the Zano network is one coin basis. +First, we need to get the current PoS difficulty, which can be found in the [block explorer](https://explorer.lthn.io/). This value is then divided by `1000000000000=10¹²`, which in the Lethean network is one coin basis. Second, we again divide it by 288. This operation lets us take the PoS mining timestamp frame into account. Without further details, this factor provides hash variety in PoS mining and can be somewhere between 256 and 320. It's reasonable to use the value of 288 here. @@ -30,7 +30,7 @@ $$ Where $C$ is the total amount of coins participating in PoS mining, and $D_{PoS} \thinspace$ is the current PoS difficulty. ``` -As you may know, the Zano network emits an average of 1 coin each minute with a 50-50 spread between PoS and PoW. That makes it 720 potential PoS reward coins per day. So if you owned all the coins in PoS, that could be your total daily earnings. And if you divide C*C* by 720, you will get the number of coins you need to mine 1 Zano coin a day. Now, you can estimate the number of coins you will earn as: +As you may know, the Lethean network emits an average of 1 coin each minute with a 50-50 spread between PoS and PoW. That makes it 720 potential PoS reward coins per day. So if you owned all the coins in PoS, that could be your total daily earnings. And if you divide C*C* by 720, you will get the number of coins you need to mine 1 Lethean coin a day. Now, you can estimate the number of coins you will earn as: ```mdx-code-block $$ @@ -38,4 +38,4 @@ E_{daily} = \frac{720 \cdot N}{C} \approx \frac{2.07 \cdot 10^{17} \cdot N}{D_{P $$ Where $\thinspace E_{daily} \thinspace$ is the estimated number of coins you'll earn per day, and $N$ is the number of coins you're staking. -``` \ No newline at end of file +``` diff --git a/docs/stake/getting-started/proof-of-stake-mining.md b/docs/stake/getting-started/proof-of-stake-mining.md index 52869c4..92e01e0 100644 --- a/docs/stake/getting-started/proof-of-stake-mining.md +++ b/docs/stake/getting-started/proof-of-stake-mining.md @@ -2,17 +2,17 @@ sidebar_position: 1 --- -# Staking Zano +# Staking Lethean -Proof-of-stake mining or staking is typically implemented in such a way that a random coin owner obtains the right to sign a new block. Zano PoS implementation keeps miners in full anonymity and is as simple as a push of a button. +Proof-of-stake mining or staking is typically implemented in such a way that a random coin owner obtains the right to sign a new block. Lethean PoS implementation keeps miners in full anonymity and is as simple as a push of a button. -## Benefits of Zano Staking +## Benefits of Lethean Staking -- 100% Anonymous: Your staked balance always remains hidden thanks to our [Zarcanum Technology.](https://docs.zano.org/docs/learn/zano-features/overview#zarcanum-anonymous-proof-of-stake) +- 100% Anonymous: Your staked balance always remains hidden thanks to our [Zarcanum Technology.](https://testnet-docs.lthn.io/docs/learn/lethean-features/overview#zarcanum-anonymous-proof-of-stake) - No lock-ups: Unstake your coins at any chosen time. -- No minimum amounts: Stake any amount of ZANO you want. +- No minimum amounts: Stake any amount of LTHN you want. - Truly decentralized: Anyone can start staking. There are **no** validators or special nodes. @@ -20,13 +20,13 @@ Proof-of-stake mining or staking is typically implemented in such a way that a r - Easy-to-use: Flip the switch and start staking. -The only requirement is to run a Zano node (currently, this can only be done on a desktop device). The Zano desktop wallet automatically functions as a Zano node. +The only requirement is to run a Lethean node (currently, this can only be done on a desktop device). The Lethean desktop wallet automatically functions as a Lethean node. -There is no "delegation" function in Zano Staking, as we believe that it goes against network decentralization, and running a Zano node takes very few resources. +There is no "delegation" function in Lethean Staking, as we believe that it goes against network decentralization, and running a Lethean node takes very few resources. -## How to Stake Zano +## How to Stake Lethean -Simply open the Zano desktop wallet, make sure the blockchain is synchronised, and turn on the `Staking` switch. +Simply open the Lethean desktop wallet, make sure the blockchain is synchronised, and turn on the `Staking` switch. ```mdx-code-block
@@ -53,8 +53,9 @@ You can observe your progress in the `Staking` tab of your staking wallet. The a ::: -![Staking Tab on GUI wallet.](/img/stake/staking-zano/zano-staking.jpg) +![Staking Tab on GUI wallet.](/img/stake/staking-lethean/lethean-staking.jpg) ## Estimating Your Rewards To understand how much you can earn from staking, check out our guide on [Estimating PoS Rewards](./estimating-pos-rewards.md). This includes both a simple calculator tool and detailed mathematical formulas for manual calculations. + diff --git a/docs/stake/overview.md b/docs/stake/overview.md index 9f9cc0c..916a268 100644 --- a/docs/stake/overview.md +++ b/docs/stake/overview.md @@ -4,17 +4,17 @@ sidebar_position: 1 # Staking Overview -Welcome to the Zano staking documentation! This section will guide you through everything you need to know about staking Zano and earning rewards through Proof-of-Stake mining. +Welcome to the Lethean staking documentation! This section will guide you through everything you need to know about staking Lethean and earning rewards through Proof-of-Stake mining. ## What is Staking? -Staking in Zano is a way to earn rewards by participating in the network's consensus mechanism. Unlike traditional Proof-of-Work mining that requires expensive hardware, staking allows you to earn rewards simply by keeping your Zano wallet running and connected to the network. +Staking in Lethean is a way to earn rewards by participating in the network's consensus mechanism. Unlike traditional Proof-of-Work mining that requires expensive hardware, staking allows you to earn rewards simply by keeping your Lethean wallet running and connected to the network. ## Key Benefits - **100% Anonymous**: Your staked balance remains hidden thanks to Zarcanum technology - **No Lock-ups**: Unstake your coins at any time -- **No Minimum Amounts**: Stake any amount of ZANO +- **No Minimum Amounts**: Stake any amount of LTHN - **Truly Decentralized**: No validators or special nodes required - **No Slashing**: No penalties for going offline - **Easy to Use**: Just flip a switch to start staking @@ -44,6 +44,28 @@ Before staking significant amounts, review our **[Security & Best Practices](./s - IP anonymization techniques - Network configuration tips +## How PoS Works on Lethean + +Lethean uses a hybrid PoW/PoS consensus. Blocks alternate between mined (PoW) and staked (PoS). To stake: + +1. Have LTHN in your wallet (any amount) +2. Run the wallet with `--do-pos-mining` flag +3. Keep it running — the wallet automatically attempts to stake when it's your turn + +The wallet RPC mode supports PoS mining: +```bash +./lethean-wallet-cli \ + --wallet-file /path/to/wallet \ + --password "PASSWORD" \ + --daemon-address 127.0.0.1:36941 \ + --rpc-bind-port 36944 \ + --do-pos-mining +``` + +PoS difficulty adjusts independently from PoW, with a 120-second target per PoS block. + +> **Note:** PoS staking requires the Zarcanum hardfork (HF4) to be active on the network. On testnet, HF4 activates at height 11,000. On mainnet, the same height applies. + ## Ready to Start? -Begin your staking journey with our [Getting Started guide](./getting-started/proof-of-stake-mining.md)! \ No newline at end of file +Begin your staking journey with our [Getting Started guide](./getting-started/proof-of-stake-mining.md)! diff --git a/docs/stake/security/proof-of-stake-recommendations.md b/docs/stake/security/proof-of-stake-recommendations.md index eea01c7..31233d2 100644 --- a/docs/stake/security/proof-of-stake-recommendations.md +++ b/docs/stake/security/proof-of-stake-recommendations.md @@ -4,13 +4,13 @@ sidebar_position: 1 # Staking Recommendations -In this article we describe our recommendations for configuring secure Zano staking. +In this article we describe our recommendations for configuring secure Lethean staking. --- ## Hardware Requirements -Although the daemon and wallet can run on relatively modest configurations, we strongly recommend using computers that meet at least the minimum requirements listed below. Running Zano on a weaker system will increase latency as network load grows and reduce staking efficiency. In some peak‑load situations, lack of resources may cause the operating system to forcibly terminate the daemon, for example, on Unix‑like systems with little RAM the kernel's OOM killer may stop the most resource‑hungry process (Zano). +Although the daemon and wallet can run on relatively modest configurations, we strongly recommend using computers that meet at least the minimum requirements listed below. Running Lethean on a weaker system will increase latency as network load grows and reduce staking efficiency. In some peak‑load situations, lack of resources may cause the operating system to forcibly terminate the daemon, for example, on Unix‑like systems with little RAM the kernel's OOM killer may stop the most resource‑hungry process (Lethean). **Requirements** @@ -24,20 +24,20 @@ Although the daemon and wallet can run on relatively modest configurations, we s You can stake in one of two ways: -### 1. Using the Zano Desktop Application +### 1. Using the Lethean Desktop Application -Simply download the application from the official Zano website, launch it, open your wallet and set the **"Staking"** checkbox to **On**. Keep in mind that enabling staking inside the wallet does not mean staking continues if the application is closed, or the computer is turned off or put to sleep. Staking produces blocks (and revenue) only while the computer is powered on, the application is running, and the internet connection is stable. Pay special attention to your system's **Energy Saving** settings, we have often seen staking performance complaints trace back to logs showing that the computer regularly entered sleep. +Simply download the application from the official Lethean website, launch it, open your wallet and set the **"Staking"** checkbox to **On**. Keep in mind that enabling staking inside the wallet does not mean staking continues if the application is closed, or the computer is turned off or put to sleep. Staking produces blocks (and revenue) only while the computer is powered on, the application is running, and the internet connection is stable. Pay special attention to your system's **Energy Saving** settings, we have often seen staking performance complaints trace back to logs showing that the computer regularly entered sleep. -### 2. Using the CLI Versions (`zanod` + `simplewallet`) +### 2. Using the CLI Versions (`lethean-chain-node` + `lethean-wallet-cli`) -This approach can be used both on a home computer and on a dedicated server at a hosting provider. In the simplest case you just start `zanod` in one terminal, wait for it to synchronise, and then in another terminal start `simplewallet`, giving it the path to your wallet file and the parameters that put it into staking mode. A minimal example looks like this: +This approach can be used both on a home computer and on a dedicated server at a hosting provider. In the simplest case you just start `lethean-chain-node` in one terminal, wait for it to synchronise, and then in another terminal start `lethean-wallet-cli`, giving it the path to your wallet file and the parameters that put it into staking mode. A minimal example looks like this: ```bash # Start the daemon -zanod +lethean-chain-node # Start the wallet in staking mode -simplewallet --wallet-file=wallet_file.zan --rpc-bind-port=12345 --deaf --do-pos-mining +lethean-wallet-cli --wallet-file=wallet_file.zan --rpc-bind-port=12345 --deaf --do-pos-mining ``` --- @@ -47,10 +47,10 @@ simplewallet --wallet-file=wallet_file.zan --rpc-bind-port=12345 --deaf --do-pos As a staker, your node will generate blocks and broadcast them to the network. From the frequency of new blocks coming from your IP address, an observer can estimate how much money is being staked in the wallet(s) on that node (especially if you are connected to the internet via a public IP address). To anonymise your IP you can use several approaches: * **Traditional VPN services.** You hide your real IP address, but because the VPN exit IP will relay your blocks in exactly the same way, an observer can still infer the amount of coins staked that are associated with that exit IP. -* **Restricting the node to trusted peers only.** You can configure your node so that it connects only to a set of peers that you choose and trust. As an example, below we show how to configure the node to connect only to the Zano network's seed nodes (servers maintained by the core team): +* **Restricting the node to trusted peers only.** You can configure your node so that it connects only to a set of peers that you choose and trust. As an example, below we show how to configure the node to connect only to the Lethean network's seed nodes (servers maintained by the core team): ```bash -zanod --hide-my-port --use-only-priority-nodes \ +lethean-chain-node --hide-my-port --use-only-priority-nodes \ --add-priority-node="95.217.43.225:11121" \ --add-priority-node="94.130.137.230:11121" \ --add-priority-node="95.217.42.247:11121" \ @@ -67,38 +67,38 @@ zanod --hide-my-port --use-only-priority-nodes \ * `--use-only-priority-nodes` – instructs the network layer to connect only to peers specified with `--add-priority-node`. * `--add-priority-node` – adds a host to the priority‑node list. -When configured this way, to an external observer it will look as if all blocks are evenly distributed among the listed nodes. While we offer these nodes as part of our core infrastructure, anyone can run their own subset of nodes to accomplish the same result. You can set up your own exit nodes or configure connections to nodes of someone you trust, this should be a conscious choice based on your security requirements. The parameters described work for both the daemon (`zanod`) and the Zano Desktop application. +When configured this way, to an external observer it will look as if all blocks are evenly distributed among the listed nodes. While we offer these nodes as part of our core infrastructure, anyone can run their own subset of nodes to accomplish the same result. You can set up your own exit nodes or configure connections to nodes of someone you trust, this should be a conscious choice based on your security requirements. The parameters described work for both the daemon (`lethean-chain-node`) and the Lethean Desktop application. ### Windows Configuration -To run the Zano Desktop application with the same privacy parameters on Windows, you need to create a CMD file with the following content: +To run the Lethean Desktop application with the same privacy parameters on Windows, you need to create a CMD file with the following content: ```batch -"C:\Program Files\Zano\Zano.exe" --hide-my-port --use-only-priority-nodes --add-priority-node="95.217.43.225:11121" --add-priority-node="94.130.137.230:11121" --add-priority-node="95.217.42.247:11121" --add-priority-node="94.130.160.115:11121" --add-priority-node="195.201.107.230:11121" --add-priority-node="95.217.46.49:11121" --add-priority-node="159.69.76.144:11121" --add-priority-node="144.76.183.143:11121" +"C:\Program Files\Lethean\Lethean.exe" --hide-my-port --use-only-priority-nodes --add-priority-node="95.217.43.225:11121" --add-priority-node="94.130.137.230:11121" --add-priority-node="95.217.42.247:11121" --add-priority-node="94.130.160.115:11121" --add-priority-node="195.201.107.230:11121" --add-priority-node="95.217.46.49:11121" --add-priority-node="159.69.76.144:11121" --add-priority-node="144.76.183.143:11121" ``` **Steps to create the CMD file:** 1. Open Notepad or any text editor 2. Copy and paste the command above -3. Save the file with a `.cmd` extension (e.g., `zano-privacy.cmd`) -4. Double-click the CMD file to run Zano with the privacy parameters +3. Save the file with a `.cmd` extension (e.g., `lethean-privacy.cmd`) +4. Double-click the CMD file to run Lethean with the privacy parameters -**Note:** Make sure to adjust the path to `Zano.exe` if you installed the application in a different location. +**Note:** Make sure to adjust the path to `Lethean.exe` if you installed the application in a different location. ### macOS Configuration -To run the Zano Desktop application with the same privacy parameters on macOS, use the following command in Terminal: +To run the Lethean Desktop application with the same privacy parameters on macOS, use the following command in Terminal: ```bash -open -a "Zano" --args --hide-my-port --use-only-priority-nodes --add-priority-node="95.217.43.225:11121" --add-priority-node="94.130.137.230:11121" --add-priority-node="95.217.42.247:11121" --add-priority-node="94.130.160.115:11121" --add-priority-node="195.201.107.230:11121" --add-priority-node="95.217.46.49:11121" --add-priority-node="159.69.76.144:11121" --add-priority-node="144.76.183.143:11121" +open -a "Lethean" --args --hide-my-port --use-only-priority-nodes --add-priority-node="95.217.43.225:11121" --add-priority-node="94.130.137.230:11121" --add-priority-node="95.217.42.247:11121" --add-priority-node="94.130.160.115:11121" --add-priority-node="195.201.107.230:11121" --add-priority-node="95.217.46.49:11121" --add-priority-node="159.69.76.144:11121" --add-priority-node="144.76.183.143:11121" ``` **Steps to run with privacy parameters:** 1. Open Terminal (Applications > Utilities > Terminal) 2. Copy and paste the command above -3. Press Enter to run Zano with the privacy parameters +3. Press Enter to run Lethean with the privacy parameters **Alternative: Create a shell script** @@ -106,11 +106,11 @@ You can also create a shell script for easier access: 1. Open TextEdit and create a new document 2. Copy and paste the command above -3. Save the file with a `.command` extension (e.g., `zano-privacy.command`) -4. Make the file executable by running: `chmod +x zano-privacy.command` -5. Double-click the `.command` file to run Zano with the privacy parameters +3. Save the file with a `.command` extension (e.g., `lethean-privacy.command`) +4. Make the file executable by running: `chmod +x lethean-privacy.command` +5. Double-click the `.command` file to run Lethean with the privacy parameters -**Note:** Make sure the Zano application is installed in the default Applications folder. +**Note:** Make sure the Lethean application is installed in the default Applications folder. --- @@ -118,5 +118,6 @@ You can also create a shell script for easier access: * **Use a firewall** to protect your machine, especially if you are running a server with a public IP address. We recommend blocking all incoming connections and allowing SSH access only from the few IP addresses you use. * **Do not store the wallet on hosts where mining software is installed.** We have encountered several cases where miners contained malware and keyloggers that stole users' wallet files and passwords. Ideally, if you have significant assets staking, set aside a **dedicated machine** with no other software installed. -* **Always watch for critical network updates,** do not miss important upgrades, especially those related to hard forks. We have created a dedicated Telegram channel that publishes only such critical updates: **[@zano_critical](https://t.me/zano_critical)**. +* **Always watch for critical network updates,** do not miss important upgrades, especially those related to hard forks. We have created a dedicated Telegram channel that publishes only such critical updates: **[@lethean_critical](https://t.me/lethean_critical)**. + diff --git a/docs/use/companion.md b/docs/use/companion.md index a9f1cd6..e4aac01 100644 --- a/docs/use/companion.md +++ b/docs/use/companion.md @@ -2,15 +2,15 @@ sidebar_position: 4 --- -# Zano Companion +# Lethean Companion -Zano Companion is a Metamask-like browser extension that enables authentication and connects the Zano desktop wallet to the web applications built on Zano. +Lethean Companion is a Metamask-like browser extension that enables authentication and connects the Lethean desktop wallet to the web applications built on Lethean. -It's your gateway to the broader Zano ecosystem! +It's your gateway to the broader Lethean ecosystem! :::info -Zano Companion is also directly integrated into the Zano Mobile Wallet app. To access it, simply click on "Browser" and navigate to the Zano dApp you wish to use. +Lethean Companion is also directly integrated into the Lethean Mobile Wallet app. To access it, simply click on "Browser" and navigate to the Lethean dApp you wish to use. ::: @@ -33,28 +33,29 @@ Zano Companion is also directly integrated into the Zano Mobile Wallet app. To a />
-1. First, open your Zano desktop wallet, and wait until it finishes syncing the blockchain. +1. First, open your Lethean desktop wallet, and wait until it finishes syncing the blockchain. -2. Go to settings, and flip the "Zano Companion" switch. If you haven't set up a master password yet, it will ask you to create a new one in the fields below. +2. Go to settings, and flip the "Lethean Companion" switch. If you haven't set up a master password yet, it will ask you to create a new one in the fields below. 3. Right-click to copy the secret that will be displayed. - ![Zano wallet secret](/img/use/companion/comp_secret.png) + ![Lethean wallet secret](/img/use/companion/comp_secret.png) -4. Open your browser and install the Zano Companion extension from the Chrome Web Store.[ \[Here\]](https://chromewebstore.google.com/detail/zano-companion/akcgnllhhhkcpmlenfpicmcpgfpindlb) +4. Open your browser and install the Lethean Companion extension from the Chrome Web Store.[ \[Here\]](https://chromewebstore.google.com/detail/lethean-companion/akcgnllhhhkcpmlenfpicmcpgfpindlb) 5. Click on the extension, and paste the secret you copied in the appropriate field, as well as the password that you will use to log in to the Companion. -6. You can now register an[ alias](https://docs.zano.org/docs/learn/zano-features/overview#aliases) if you haven't done so already, this will be displayed as your identity when using the Zano ecosystem. +6. You can now register an[ alias](https://testnet-docs.lthn.io/docs/learn/lethean-features/overview#aliases) if you haven't done so already, this will be displayed as your identity when using the Lethean ecosystem. ![Companion extension showcase](/img/use/companion/companion.png) -7. To connect to a Zano web application, simply click on its "Connect Wallet" button and select Zano Extension if asked. +7. To connect to a Lethean web application, simply click on its "Connect Wallet" button and select Lethean Extension if asked. ![connect wallet pop-up](/img/use/companion/connect_wallet.png) 8. A popup will appear on the Companion to authorize the connection, you will only need to this on the first time. - ![Sign request pop-up in Zano Companion](/img/use/companion/sign_request.png) + ![Sign request pop-up in Lethean Companion](/img/use/companion/sign_request.png) + +**And that's it! Welcome to the Lethean Ecosystem!** -**And that's it! Welcome to the Zano Ecosystem!** diff --git a/docs/use/legacy/escrow-contracts.md b/docs/use/legacy/escrow-contracts.md index f201ff7..fe13217 100644 --- a/docs/use/legacy/escrow-contracts.md +++ b/docs/use/legacy/escrow-contracts.md @@ -4,7 +4,7 @@ slug: /use/escrow-contracts # Escrow contracts -Zano provides the framework for a secure and private transaction without the need for a trusted third party. Our Escrow system, as proposed, will require participants to make additional deposits, which they will forfeit if there is any attempt to act maliciously, or in a way that is contemptuous toward their counter party. For more information please refer to the "Escrow" section of the [whitepaper](https://docs.zano.org/docs/learn/whitepaper/). +Lethean provides the framework for a secure and private transaction without the need for a trusted third party. Our Escrow system, as proposed, will require participants to make additional deposits, which they will forfeit if there is any attempt to act maliciously, or in a way that is contemptuous toward their counter party. For more information please refer to the "Escrow" section of the [whitepaper](https://testnet-docs.lthn.io/docs/learn/whitepaper/). ### Propsal @@ -43,3 +43,15 @@ When parties cannot find mutual agreement on any occasions one can decide to bur If buyer is satisfied with the delivery or a provided service the contract can be closed. Releasing deposits will return both parties collaterals. ![alt contract-confirmation](/img/use/escrow-contracts/contract-confirmation.png "contract-confirmation")_
Contract confirmation
_ + +### Lethean Network Status + +Escrow contracts require the **Zarcanum hardfork (HF4)** to be active on the network. On both testnet and mainnet, HF4 activates at height **11,000**. + +Escrow contracts enable: +- **VPN service payments** — pay for a VPN subscription with LTHN, with escrow ensuring service delivery +- **Marketplace transactions** — buy/sell goods with trustless escrow +- **Service agreements** — any two-party contract with time-locked deposits + +Check the current hardfork status at [explorer.lthn.io](https://explorer.lthn.io). + diff --git a/docs/use/legacy/zarcanum-migration.md b/docs/use/legacy/zarcanum-migration.md index 57c046a..b03dcd9 100644 --- a/docs/use/legacy/zarcanum-migration.md +++ b/docs/use/legacy/zarcanum-migration.md @@ -4,13 +4,13 @@ slug: /use/zarcanum-migration # Zarcanum Migration -With the Zarcanum hardfork, Zano introduces an essential feature for all users: the Auto Migration process. This feature is designed to seamlessly transition your wallet to the post-Zarcanum era, ensuring that you can continue to stake and participate in the network without interruption. +With the Zarcanum hardfork, Lethean introduces an essential feature for all users: the Auto Migration process. This feature is designed to seamlessly transition your wallet to the post-Zarcanum era, ensuring that you can continue to stake and participate in the network without interruption. ## What is Auto Migration? -Auto Migration is an automated process within the Zano wallet that takes pre-Zarcanum outputs and consolidates them. Here's what it entails: +Auto Migration is an automated process within the Lethean wallet that takes pre-Zarcanum outputs and consolidates them. Here's what it entails: -**Collection**: The wallet automatically gathers all old outputs in your Zano wallet that were created before the Zarcanum hardfork. +**Collection**: The wallet automatically gathers all old outputs in your Lethean wallet that were created before the Zarcanum hardfork. **Consolidation**: These outputs are then consolidated into a few transactions. This step is crucial because it reduces the complexity and size of your wallet, making it more efficient. @@ -22,11 +22,11 @@ Auto Migration is an automated process within the Zano wallet that takes pre-Zar Using the Auto Migration feature is simple, thanks to the new wallet interface. Follow these steps to ensure your wallet is ready for staking in the post-Zarcanum era: -**Look for the Migration Button**: When you open your updated Zano wallet, look for the 'Migrate wallet to Zarcanum' button, typically located at the top of the screen. +**Look for the Migration Button**: When you open your updated Lethean wallet, look for the 'Migrate wallet to Zarcanum' button, typically located at the top of the screen. ![alt migration-button](/img/use/zarcanum-migration/button.png "migration button")
Migration button
-**Initiate Migration**: If your wallet detects pre-Zarcanum outputs, a popup will appear informing you of the number of outputs and the total ZANO amount they represent. For example, "There are 112 outputs with a total amount of 24 ZANO". +**Initiate Migration**: If your wallet detects pre-Zarcanum outputs, a popup will appear informing you of the number of outputs and the total LTHN amount they represent. For example, "There are 112 outputs with a total amount of 24 LTHN". **Understand the Details**: If you're unsure about what 'outputs' means, click on the "What does it mean?" link for a detailed explanation — this will be the article currently in progress. @@ -39,3 +39,4 @@ Using the Auto Migration feature is simple, thanks to the new wallet interface. **Complete the Process**: The migration transaction will be sent. It require 10 blocks time to get confirmed, just like any other transaction. **Post-Migration**: Once the migration is completed, your wallet will be up-to-date with the Zarcanum protocol, and you'll be all set to continue staking and using your wallet as usual. + diff --git a/docs/use/zano-matrix-guide.mdx b/docs/use/lethean-matrix-guide.mdx similarity index 59% rename from docs/use/zano-matrix-guide.mdx rename to docs/use/lethean-matrix-guide.mdx index 5fc43f5..0251085 100644 --- a/docs/use/zano-matrix-guide.mdx +++ b/docs/use/lethean-matrix-guide.mdx @@ -2,19 +2,19 @@ sidebar_position: 4 --- -# Zano Matrix +# Lethean Matrix -Zano Matrix enables secure, private messaging. +Lethean Matrix enables secure, private messaging. ## What is Matrix? Matrix is a communication protocol for decentralized messaging, voice, and video calls. It operates across a federated network, which allows users to host their own servers while staying connected to each other. Matrix is open-source and connects multiple platforms to allow seamless interaction between them. You can compare it to e-mail; someone who uses Gmail can still send emails to someone who uses Yahoo. -## What is Zano Matrix? +## What is Lethean Matrix? -With an increase in compromised communication platforms like Telegram and WhatsApp, we decided to integrate Zano with Matrix to have our own decentralized messenger server that authenticates via Zano aliases! Zano Matrix is a secure open-source messenger that authenticates via aliases in the Zano decentralized network. In addition, our private and encrypted server runs on our own hardware, ensuring that all messages are fully encrypted. By registering with your Zano alias, you can claim a unique username, ensuring your messages are safe and your online identity is verified while maintaining your privacy! +With an increase in compromised communication platforms like Telegram and WhatsApp, we decided to integrate Lethean with Matrix to have our own decentralized messenger server that authenticates via Lethean aliases! Lethean Matrix is a secure open-source messenger that authenticates via aliases in the Lethean decentralized network. In addition, our private and encrypted server runs on our own hardware, ensuring that all messages are fully encrypted. By registering with your Lethean alias, you can claim a unique username, ensuring your messages are safe and your online identity is verified while maintaining your privacy! -## Why use Zano Matrix? +## Why use Lethean Matrix? - Decentralized: No single point of control or failure—users can host their own servers. @@ -24,7 +24,7 @@ With an increase in compromised communication platforms like Telegram and WhatsA - Open-Source: Transparent and customizable code, enabling anyone to adapt and use it in their own way. -- Verification: You can be sure that you are talking to the owner of a certain alias, which is handy when doing business on one of the dApps in the Zano ecosystem. +- Verification: You can be sure that you are talking to the owner of a certain alias, which is handy when doing business on one of the dApps in the Lethean ecosystem. ## How to get started @@ -45,25 +45,25 @@ With an increase in compromised communication platforms like Telegram and WhatsA /> -1. Like all Zano dApps, Zano Matrix requires using Zano Companion; [click here](https://docs.zano.org/docs/use/companion) if you haven't set it up already. +1. Like all Lethean dApps, Lethean Matrix requires using Lethean Companion; [click here](https://testnet-docs.lthn.io/docs/use/companion) if you haven't set it up already. -2. Once your Companion is ready (make sure your desktop wallet is open and unlocked), head to [https://messenger.zano.org/](https://messenger.zano.org/) and click "Connect Wallet." +2. Once your Companion is ready (make sure your desktop wallet is open and unlocked), head to [https://messenger.lethean.io/](https://messenger.lethean.io/) and click "Connect Wallet." 3. Once connected, create a password and username. 4. Download a Matrix client (like [Element](https://element.io/download)); all clients can be found on [Matrix's website](https://matrix.org/ecosystem/clients/). -5. After opening the app, make sure to change the server from "[matrix.org](https://messenger.zano.org/)" to "[zano.org](https://messenger.zano.org/)." +5. After opening the app, make sure to change the server from "[matrix.org](https://messenger.lethean.io/)" to "[lethean.io](https://messenger.lethean.io/)." -6. Use your Zano Alias as username and the password you just created to log in and get access to the Matrix server. +6. Use your Lethean Alias as username and the password you just created to log in and get access to the Matrix server. 7. Start messaging! -Furthermore, it's possible to connect with people via the Zano Explorer. +Furthermore, it's possible to connect with people via the Lethean Explorer. -Simply click the Matrix connection icon to be forwarded to a one-on-one chat using the Zano Matrix Messenger! +Simply click the Matrix connection icon to be forwarded to a one-on-one chat using the Lethean Matrix Messenger! -![zano-matrix-explorer](/img/use/zano-matrix/matrixexplorer.jpg) +![lethean-matrix-explorer](/img/use/lethean-matrix/matrixexplorer.jpg) ## Frequent Asked Questions @@ -71,7 +71,7 @@ Simply click the Matrix connection icon to be forwarded to a one-on-one chat usi No, Matrix is a secure protocol designed to protect your privacy. -##### **Does the server or Element Messenger have access to the keys of your Zano wallet?** +##### **Does the server or Element Messenger have access to the keys of your Lethean wallet?** No, your wallet is only used to claim your username and sign a message. This allows the server to verify that you are the wallet owner setting the password. @@ -79,10 +79,11 @@ No, your wallet is only used to claim your username and sign a message. This all Yes, Matrix is the respected, reviewed and popular protocol, trusted worldwide by companies and individuals who prioritize privacy. -##### **What is the advantage of logging in with a Zano Alias over a traditional account?** +##### **What is the advantage of logging in with a Lethean Alias over a traditional account?** -You can reveal only your alias as a contact point or anonymously reach out to other alias owners. Aliases with Matrix connections can also be specified in the Zano block explorer. +You can reveal only your alias as a contact point or anonymously reach out to other alias owners. Aliases with Matrix connections can also be specified in the Lethean block explorer. -##### **What happens if [zano.org](http://zano.org) goes down?** +##### **What happens if [lethean.io](http://lethean.io) goes down?** + +The Lethean Matrix server is replicated. In the unlikely event of hardware failure, a replica can be quickly spun up to maintain service continuity. -The Zano Matrix server is replicated. In the unlikely event of hardware failure, a replica can be quickly spun up to maintain service continuity. diff --git a/docs/use/zano-trade.md b/docs/use/lethean-trade.md similarity index 52% rename from docs/use/zano-trade.md rename to docs/use/lethean-trade.md index e9b0a4e..1d15827 100644 --- a/docs/use/zano-trade.md +++ b/docs/use/lethean-trade.md @@ -2,9 +2,9 @@ sidebar_position: 4 --- -# Zano Trade +# Lethean Trade -A decentralized exchange to trade native Zano and all the Confidential Assets launched on Zano’s ecosystem. Zano Trade requires no user registration and uses an on-chain order matching system to facilitate [Ionic Swaps](https://docs.zano.org/docs/learn/frequently-asked-questions#what-are-ionic-swaps) between native Zano and the Confidential Assets. It is impossible to see what asset type, amount, or address was involved in the transaction. +A decentralized exchange to trade native Lethean and all the Confidential Assets launched on Lethean’s ecosystem. Lethean Trade requires no user registration and uses an on-chain order matching system to facilitate [Ionic Swaps](https://testnet-docs.lthn.io/docs/learn/frequently-asked-questions#what-are-ionic-swaps) between native Lethean and the Confidential Assets. It is impossible to see what asset type, amount, or address was involved in the transaction. ## How to use @@ -27,16 +27,16 @@ A decentralized exchange to trade native Zano and all the Confidential Assets la ``` -1. Zano Trade, like all Zano dApps, requires using Zano Companion, [click here](https://docs.zano.org/docs/use/companion) if you haven't set it up already. +1. Lethean Trade, like all Lethean dApps, requires using Lethean Companion, [click here](https://testnet-docs.lthn.io/docs/use/companion) if you haven't set it up already. -2. Once your Companion is ready (make sure to have your desktop wallet open and unlocked) head to [trade.zano.org](http://trade.zano.org) and click "Connect Wallet". +2. Once your Companion is ready (make sure to have your desktop wallet open and unlocked) head to [trade.lethean.io](http://trade.lethean.io) and click "Connect Wallet". 3. On the first time, a popup will appear on the Companion to authorize the connection, click "Accept".
Sign request pop-up in Zano Companion
@@ -46,8 +46,8 @@ A decentralized exchange to trade native Zano and all the Confidential Assets la
Trading pairs selection in Zano Trade
@@ -57,7 +57,7 @@ A decentralized exchange to trade native Zano and all the Confidential Assets la For this example, we will be buying "ZNOOP" tokens: -_Price:_ How much of the base pair (in this case, ZANO) do we want to pay per unit of ZNOOP? +_Price:_ How much of the base pair (in this case, LTHN) do we want to pay per unit of ZNOOP? _Amount:_ How many tokens do we want to acquire at this price? @@ -65,7 +65,7 @@ Click "Buy" to post the order.
Create buy order
@@ -76,11 +76,11 @@ For this example, we'll be selling "ZNOOP" tokens: Scroll down to see the order book. -Since we are happy with receiving 0.01 ZANO per token, we'll proceed to click "Take Order". +Since we are happy with receiving 0.01 LTHN per token, we'll proceed to click "Take Order".
list of orders
@@ -89,7 +89,7 @@ This will take us back above and automatically set the fields for our sell order
Create sell order
@@ -100,18 +100,18 @@ Scroll down to see your list of pending orders.
"My Orders" list
Since our order matches the one from @Timmy03, all that is left to do is click "Apply". -This will open Zano Companion, prompting us to confirm the trade. +This will open Lethean Companion, prompting us to confirm the trade.
Confirm Ionic Swap, companion pop-up
@@ -120,45 +120,46 @@ Now we wait for @Timmy03 to apply our order in the same way we just did.
Both wallets tx history showing the successful swap
-And that's it! We just completed a peer-to-peer trade, made possible by Zano's Ionic Swaps, preserving our privacy across the entire process. +And that's it! We just completed a peer-to-peer trade, made possible by Lethean's Ionic Swaps, preserving our privacy across the entire process. ## Frequently Asked Questions ### How do trades work? -When users publish their orders to Zano Trade, our DEX coordinator combines sell and buy orders together in an [Ionic Swap](https://docs.zano.org/docs/learn/frequently-asked-questions#what-are-ionic-swaps) transaction that is then relayed by the app and executed by users, its content is only visible to the parties involved in the swap. +When users publish their orders to Lethean Trade, our DEX coordinator combines sell and buy orders together in an [Ionic Swap](https://testnet-docs.lthn.io/docs/learn/frequently-asked-questions#what-are-ionic-swaps) transaction that is then relayed by the app and executed by users, its content is only visible to the parties involved in the swap. -### Is Zano Trade decentralized? +### Is Lethean Trade decentralized? -Zano trade is simply a forum for users to find each other's orders, at no point does it hold any custody of funds. +Lethean trade is simply a forum for users to find each other's orders, at no point does it hold any custody of funds. -You can even do trades without the site by simply using the "Swap" function available in the official Zano wallets, in a fully self-hosted manner. +You can even do trades without the site by simply using the "Swap" function available in the official Lethean wallets, in a fully self-hosted manner. ### Why isn't there a traditional order book/liquidity pool? -While technically a traditional order book is possible by building a list of half-filled ionic swap transactions, this is not something we endorse since it sacrifices the privacy on the maker side, contradicting one of Zano's core features. +While technically a traditional order book is possible by building a list of half-filled ionic swap transactions, this is not something we endorse since it sacrifices the privacy on the maker side, contradicting one of Lethean's core features. However if there's a demand for an app like this and users are willing to opt-in, it could be built by a third party. ### Which currencies can I trade? -All [confidential assets](https://docs.zano.org/docs/learn/frequently-asked-questions#what-are-confidential-assets) issued or bridged over to Zano are tradeable. +All [confidential assets](https://testnet-docs.lthn.io/docs/learn/frequently-asked-questions#what-are-confidential-assets) issued or bridged over to Lethean are tradeable. ### How long does it take before my transaction is processed? An ionic swap takes 1 confirmation to complete, which on average is 1 minute. -### Why do I need Zano Companion to be able to access Zano Trade? +### Why do I need Lethean Companion to be able to access Lethean Trade? -Since Zano Trade is a non-custodial app it uses Zano Companion as a secure interface to the user's wallet instead, this way funds always stay in your control. +Since Lethean Trade is a non-custodial app it uses Lethean Companion as a secure interface to the user's wallet instead, this way funds always stay in your control. ## Support -If you need help with Zano Trade, join our dedicated support chat: **[@zano_trade_support](https://t.me/zano_trade_support)** +If you need help with Lethean Trade, join our dedicated support chat: **[@lethean_trade_support](https://t.me/lethean_trade_support)** + +For critical network updates and announcements: **[@lethean_critical](https://t.me/lethean_critical)** -For critical network updates and announcements: **[@zano_critical](https://t.me/zano_critical)** diff --git a/docs/use/overview.md b/docs/use/overview.md index de6c12c..1573ce7 100644 --- a/docs/use/overview.md +++ b/docs/use/overview.md @@ -4,14 +4,15 @@ sidebar_position: 1 # Getting Started -This section covers how to use Zano day-to-day. +This section covers how to use Lethean day-to-day. -**Wallets** — Set up a [desktop or mobile wallet](/docs/use/wallets/overview). Back up your [seed phrase](/docs/use/seed-phrase) and understand [password types](/docs/use/zano-passwords.md). +**Wallets** — Set up a [desktop or mobile wallet](/docs/use/wallets/overview). Back up your [seed phrase](/docs/use/seed-phrase) and understand [password types](/docs/use/lethean-passwords.md). -**Features** — [Aliases](/docs/use/aliases) (@username addresses), [Auditable Wallets](/docs/use/auditable-wallets), [Wrapped Zano](/docs/use/wrapped-zano) (ERC-20 bridge). +**Features** — [Aliases](/docs/use/aliases) (@username addresses), [Auditable Wallets](/docs/use/auditable-wallets), [Wrapped Lethean](/docs/use/wrapped-lethean) (ERC-20 bridge). -**dApps** — Most need [Zano Companion](/docs/use/companion) (browser extension) to connect your wallet: -- [Zano Trade](/docs/use/zano-trade) — DEX and P2P trading -- [Zano Matrix](/docs/use/zano-matrix-guide) — Encrypted messenger +**dApps** — Most need [Lethean Companion](/docs/use/companion) (browser extension) to connect your wallet: +- [Lethean Trade](/docs/use/lethean-trade) — DEX and P2P trading +- [Lethean Matrix](/docs/use/lethean-matrix-guide) — Encrypted messenger Having problems? See [Reporting Issues](/docs/use/reporting-issues). + diff --git a/docs/use/reporting-issues.md b/docs/use/reporting-issues.md index 00b5f73..703f95c 100644 --- a/docs/use/reporting-issues.md +++ b/docs/use/reporting-issues.md @@ -4,32 +4,33 @@ sidebar_position: 98 # Reporting issues -Zano team puts a lot of hard work to bring you the best blockchain experience possible and it's highly unlikeable you will face any troubles using our product. However if you experience any technical issues we suggest you make a report to our development team. +Lethean team puts a lot of hard work to bring you the best blockchain experience possible and it's highly unlikeable you will face any troubles using our product. However if you experience any technical issues we suggest you make a report to our development team. -All you need to do is to follow the [report link](https://github.com/hyle-team/zano/issues), describe your situation and submit a request. Or join our [Discord](https://discord.gg/wE3rmYY) and post it in the #support channel. +All you need to do is to follow the [report link](https://github.com/lethean-io/issues), describe your situation and submit a request. Or join our [Discord](https://discord.gg/wE3rmYY) and post it in the #support channel. -For Zano Trade related issues, join: **[@zano_trade_support](https://t.me/zano_trade_support)** +For Lethean Trade related issues, join: **[@lethean_trade_support](https://t.me/lethean_trade_support)** -For critical network updates (hard forks, urgent upgrades): **[@zano_critical](https://t.me/zano_critical)** +For critical network updates (hard forks, urgent upgrades): **[@lethean_critical](https://t.me/lethean_critical)** ## Log files -In most cases log files are essential for troubleshooting. It could be wise to attach them to the report you submit. Specifically, `Zano.log` or `zanod.log` would be useful for our dev team. They are stored in different locations depending on OS: +In most cases log files are essential for troubleshooting. It could be wise to attach them to the report you submit. Specifically, `Lethean.log` or `lethean-chain-node.log` would be useful for our dev team. They are stored in different locations depending on OS: ### Windows ``` -C:\Users\\AppData\Roaming\Zano +C:\Users\\AppData\Roaming\Lethean ``` ### MacOS ``` -/Users//Library/Application Support/Zano +/Users//Library/Application Support/Lethean ``` ### Linux ``` -~/.Zano +~/.Lethean ``` + diff --git a/docs/use/wallet-features/aliases.md b/docs/use/wallet-features/aliases.md index 6794a28..477ce13 100644 --- a/docs/use/wallet-features/aliases.md +++ b/docs/use/wallet-features/aliases.md @@ -5,7 +5,7 @@ slug: /use/aliases # Aliases -Each Zano user can register with an alias, for example, @easytouse, a human-readable name associated with a payment address and text comment stored in the blockchain. This alias provides a short, easy-to-remember name rather than a long, confusing string of random characters. Blockchain storage ensures that aliases are protected from being altered. +Each Lethean user can register with an alias, for example, @easytouse, a human-readable name associated with a payment address and text comment stored in the blockchain. This alias provides a short, easy-to-remember name rather than a long, confusing string of random characters. Blockchain storage ensures that aliases are protected from being altered. Each alias is assigned to a particular wallet. Only one alias can be created per wallet. To register an alias, select `Register an alias` from the wallet main window. @@ -13,11 +13,11 @@ To reduce the possibility of phishing, we set limitations on alias registrations :::note -Aliases shorter than 6 characters can only be issued by the Zano Core Team. Users can win one by participating in our monthly community events. +Aliases shorter than 6 characters can only be issued by the Lethean Core Team. Users can win one by participating in our monthly community events. ::: -The comment section will be temporarily stored in the blockchain until it passes a checkpoint. For more information on the pruning mechanism please refer to the [whitepaper](https://github.com/hyle-team/docs/blob/master/zano/Zano_WP_latest.pdf). +The comment section will be temporarily stored in the blockchain until it passes a checkpoint. For more information on the pruning mechanism please refer to the [whitepaper](https://github.com/lethean-io/blob/master/lethean/Lethean_WP_latest.pdf). @@ -40,10 +40,55 @@ The comment section will be temporarily stored in the blockchain until it passes ![alt alias-registration](/img/use/wallet-features/aliases/aliascreation.png)*
Alias registration
* -Aliases can be used for more than just Zano transactions. Think of them as a decentralised address book with universal IDs that can be used for various services based on the Zano platform. +Aliases can be used for more than just Lethean transactions. Think of them as a decentralised address book with universal IDs that can be used for various services based on the Lethean platform — VPN subscriptions, identity, agent federation, and marketplace listings. -:::note +### Registration via RPC -You will be able to trade your aliases on a upcoming Alias Auction Platform. +```bash +curl -X POST http://127.0.0.1:36944/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{ + "jsonrpc":"2.0","method":"register_alias", + "params":{ + "al":{ + "address":"YOUR_iTHN_ADDRESS", + "alias":"myname", + "comment":"My Lethean alias" + }, + "authority_key":"" + } + }' +``` + +### Lookup via RPC + +```bash +# By alias name +curl -X POST http://127.0.0.1:36941/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"get_alias_details","params":{"alias":"myname"}}' + +# By address (reverse lookup) +curl -X POST http://127.0.0.1:36941/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"get_alias_by_address","params":{"address":"iTHN..."}}' + +# Get registration cost +curl -X POST http://127.0.0.1:36941/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"get_alias_reward","params":{"alias":"myname"}}' +``` + +### Cost + +New alias registration costs **1 LTHN**. Updates use the standard transaction fee (essentially free). This prevents spam registration while keeping aliases accessible. + +### Requirements + +- Minimum 6 characters, maximum 25 +- Lowercase letters (a-z) and numbers (0-9) only +- Aliases shorter than 6 characters require an authority key (reserved for Lethean CIC) +- Requires HF4 (Zarcanum) to be active on the network + +> **Verified:** `get_alias_reward` and `get_alias_details` RPCs tested on testnet. Registration requires HF4 (height 11,000) for transaction support. -::: diff --git a/docs/use/wallet-features/auditable-wallets.md b/docs/use/wallet-features/auditable-wallets.md index d1ec8ba..9fb8ff3 100644 --- a/docs/use/wallet-features/auditable-wallets.md +++ b/docs/use/wallet-features/auditable-wallets.md @@ -11,7 +11,7 @@ Auditable is the type of wallet that allows 3rd party to see the balance and tra ### How can I tell if a wallet is auditable -It's a wallet with an address in a special format that starts with "aZx", for instance: aZxawNXAuekCXcnzutthLaPZQxAyaofb59FpzNBSCQb7iT7D1nsaxdTCvK4Xhn6nfuRpqDiNjeUNx2J9KWfTXHmDWNQ85v2bpbi +It's a wallet with an address in a special format that starts with "iThN", for instance: iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY ### What is the purpose of auditable wallets? @@ -23,16 +23,16 @@ No. You need to create a new auditable wallet and transfer your coins into it. ### How can I create an auditable wallet? -Using simplewallet CLI application: +Using lethean-wallet-cli CLI application: ``` ->simplewallet.exe --generate-new-auditable-wallet my_auditable_wallet_x -Zano_testnet wallet v1.1.7.96[3e463b0] +>lethean-wallet-cli.exe --generate-new-auditable-wallet my_auditable_wallet_x +Lethean_testnet wallet v1.1.7.96[3e463b0] password: *** -Generated new AUDITABLE wallet: aZxb9v1DFtaK6Z4bW7UUuaZcmq7MZBzz875eZ5N3vSRa2vWz9wBVE3vVKFGNH8414TTjhiwPz7PTV5ttuZP7GsdDQeWbewpmMaX +Generated new AUDITABLE wallet: iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY view key: 3dd8fd870c694818194c1e7a095a51e2e65486e212baca77fce4157f39287f05 tracking seed: -aZxb9v1DFtaK6Z4bW7UUuaZcmq7MZBzz875eZ5N3vSRa2vWz9wBVE3vVKFGNH8414TTjhiwPz7PTV5ttuZP7GsdDQeWbewpmMaX:3dd8fd870c694818194c1e7a095a51e2e65486e212baca77fce4157f39287f05:1595429852 +iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY:3dd8fd870c694818194c1e7a095a51e2e65486e212baca77fce4157f39287f05:1595429852 ********************************************************************** Your wallet has been generated. ********************************************************************** @@ -40,42 +40,42 @@ Your wallet has been generated. ### Using an auditable wallet, how can I give someone the ability to track my balance and transaction history? -You should obtain a **tracking seed** for your auditable wallet and give it to someone you'd like to be able to track your wallet. At the moment, it can only be done by using `tracking_seed` command in simplewallet: +You should obtain a **tracking seed** for your auditable wallet and give it to someone you'd like to be able to track your wallet. At the moment, it can only be done by using `tracking_seed` command in lethean-wallet-cli: ``` ->simplewallet.exe --wallet-file my_auditable_wallet_x -Zano_testnet wallet v1.1.7.96[3e463b0] +>lethean-wallet-cli.exe --wallet-file my_auditable_wallet_x +Lethean_testnet wallet v1.1.7.96[3e463b0] password: *** -Opened auditable wallet: aZxb9v1DFtaK6Z4bW7UUuaZcmq7MZBzz875eZ5N3vSRa2vWz9wBVE3vVKFGNH8414TTjhiwPz7PTV5ttuZP7GsdDQeWbewpmMaX +Opened auditable wallet: iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY Starting refresh... Refresh done, blocks received: 0 balance: 0.000000000000, unlocked balance: 0.000000000000 ********************************************************************** Use "help" command to see the list of available commands. ********************************************************************** -[Zano wallet aZxb9v]: tracking_seed +[Lethean wallet iThNxx]: tracking_seed Auditable watch-only tracking seed for this wallet is: -aZxb9v1DFtaK6Z4bW7UUuaZcmq7MZBzz875eZ5N3vSRa2vWz9wBVE3vVKFGNH8414TTjhiwPz7PTV5ttuZP7GsdDQeWbewpmMaX:3dd8fd870c694818194c1e7a095a51e2e65486e212baca77fce4157f39287f05:1595429852 +iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY:3dd8fd870c694818194c1e7a095a51e2e65486e212baca77fce4157f39287f05:1595429852 Anyone having this tracking seed is able to watch your balance and transaction history, but unable to spend coins. ``` -Tracking seed technically is an auditable address, secret view key and a creation timestamp combined with a colon: aZxawNXAuekCXcnzutthLaPZQxAyaofb59FpzNBSCQb7iT7D1nsaxdTCvK4Xhn6nfuRpqDiNjeUNx2J9KWfTXHmDWNQ85v2bpbi:1be5866b6fda704c0c4a08f9c79c774911fda72dcd8cc8c7ca31bc1a6fda4d0b:1593998615 +Tracking seed technically is an auditable address, secret view key and a creation timestamp combined with a colon: iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY:1be5866b6fda704c0c4a08f9c79c774911fda72dcd8cc8c7ca31bc1a6fda4d0b:1593998615 ### I got a tracking seed. How can I track the wallet it is bound to? -You need to restore a wallet using the tracking key the same way you restore a regular wallet using a seed. It could be done in simplewallet: +You need to restore a wallet using the tracking key the same way you restore a regular wallet using a seed. It could be done in lethean-wallet-cli: ``` ->simplewallet.exe --restore-wallet=wallet-name -Zano_testnet wallet v1.1.7.96[3e463b0] +>lethean-wallet-cli.exe --restore-wallet=wallet-name +Lethean_testnet wallet v1.1.7.96[3e463b0] password: *** please, enter wallet seed phrase or an auditable wallet's tracking seed: *** -Tracking wallet restored: aZxb9v1DFtaK6Z4bW7UUuaZcmq7MZBzz875eZ5N3vSRa2vWz9wBVE3vVKFGNH8414TTjhiwPz7PTV5ttuZP7GsdDQeWbewpmMaX +Tracking wallet restored: iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY ********************************************************************** Your wallet has been restored. To start synchronizing with the daemon use "refresh" command. Use "help" command to see the list of available commands. -Always use "exit" command when closing simplewallet to save +Always use "exit" command when closing lethean-wallet-cli to save current session's state. Otherwise, you will possibly need to synchronize your wallet again. Your wallet keys is NOT under risk anyway. ********************************************************************** @@ -96,3 +96,4 @@ Yes. An integrated address for an auditable wallet can be generated as usual. Su ### Can I mine PoS with my auditable wallet? Yes, you can. Also, you can use a corresponding watch-only wallet to monitor your balance without the risk of leaking your spend key. + diff --git a/docs/use/wallet-features/ionic-swaps.md b/docs/use/wallet-features/ionic-swaps.md index 6f5b491..a470cfb 100644 --- a/docs/use/wallet-features/ionic-swaps.md +++ b/docs/use/wallet-features/ionic-swaps.md @@ -5,9 +5,9 @@ slug: /use/ionic-swaps # Peer-to-Peer Ionic Swaps -Ionic Swaps are a privacy-preserving evolution of traditional atomic swaps, enabling peer-to-peer exchange of cryptocurrencies and [Confidential Assets](/docs/learn/zano-features/overview#confidential-assets) directly on the Zano blockchain. They eliminate intermediaries, prevent unfair advantage between parties, and preserve user custody and transaction privacy throughout the swap process. +Ionic Swaps are a privacy-preserving evolution of traditional atomic swaps, enabling peer-to-peer exchange of cryptocurrencies and [Confidential Assets](/docs/learn/lethean-features/overview#confidential-assets) directly on the Lethean blockchain. They eliminate intermediaries, prevent unfair advantage between parties, and preserve user custody and transaction privacy throughout the swap process. -You can perform Ionic Swaps on [Zano Trade](/docs/use/zano-trade), which provides a superior user experience with quality-of-life features. However, if you prefer a completely censorship-resistant and decentralized experience that does not rely on any website, you can perform swaps directly from your wallet app using the guide below. +You can perform Ionic Swaps on [Lethean Trade](/docs/use/lethean-trade), which provides a superior user experience with quality-of-life features. However, if you prefer a completely censorship-resistant and decentralized experience that does not rely on any website, you can perform swaps directly from your wallet app using the guide below. - [Create a Swap Proposal](#create-a-swap-proposal) - [Accept a Swap Proposal](#accept-a-swap-proposal) @@ -16,7 +16,7 @@ You can perform Ionic Swaps on [Zano Trade](/docs/use/zano-trade), which provide ## Create a Swap Proposal -On the official Zano Desktop app, open your wallet and select the **Swap** tab. +On the official Lethean Desktop app, open your wallet and select the **Swap** tab. ![Swap tab](/img/use/wallet-features/ionic-swaps/2.7.1.wallet_swap.png) @@ -75,3 +75,4 @@ Once you receive a swap proposal code from your trading partner: Once accepted, the swap will be processed on-chain. You can monitor its progress in the **Swap** tab, where it will appear as an ongoing swap until the transaction is confirmed. ![Ongoing swap](/img/use/wallet-features/ionic-swaps/2.7.2.wallet_swap.png) + diff --git a/docs/use/wallets/cli/install-zano-cli-wallet-ubuntu.md b/docs/use/wallets/cli/install-zano-cli-wallet-ubuntu.md index 65ea22b..814f61a 100644 --- a/docs/use/wallets/cli/install-zano-cli-wallet-ubuntu.md +++ b/docs/use/wallets/cli/install-zano-cli-wallet-ubuntu.md @@ -1,123 +1,124 @@ --- sidebar_position: 4 -slug: /use/wallets/install-zano-cli-wallet-ubuntu +slug: /use/wallets/install-lethean-cli-wallet-ubuntu --- -# Install a Zano CLI Wallet (Linux) +# Install Lethean CLI Wallet (Linux) -Download Zano, extract the CLI binaries, sync the blockchain, and create your first wallet. +Download, sync, create a wallet, and start mining. ## 1. Download -Go to [zano.org](https://zano.org) and navigate to the downloads section. Download the Linux release — it's distributed as an **AppImage** file: - -``` -zano-linux-x64-release-v[].AppImage +```bash +wget https://downloads.lthn.io/lethean-testnet-linux-x86_64-v6.0.1.tar.gz +tar xzf lethean-testnet-linux-x86_64-v6.0.1.tar.gz +cd lethean-testnet-linux-x86_64-v6.0.1 ``` -## 2. Verify the download +Or build from source: see [Building From Sources](/docs/build/building-from-sources). -Open a terminal in the download directory and run a checksum against the file: +## 2. Start the daemon ```bash -sha256sum zano-linux-x64-release-v*.AppImage +./lethean-testnet-chain-node --data-dir ./data ``` -Compare the output against the SHA256 hash published in the [release notes](https://github.com/hyle-team/zano/releases). If they don't match, re-download the file. +The daemon will sync the blockchain. On first run this takes a few minutes. You'll see block heights counting up. Wait until it's fully synced (height matches [explorer.lthn.io](https://explorer.lthn.io)). -## 3. Extract the CLI binaries +To connect to the testnet seed node: +```bash +./lethean-testnet-chain-node --data-dir ./data --add-priority-node --use-only-priority-nodes 10.69.69.165:46942 +``` -The AppImage contains both the GUI wallet and CLI tools. To extract the CLI binaries: +## 3. Create a wallet + +Open a new terminal in the same directory: ```bash -chmod +x zano-linux-x64-release-v*.AppImage -./zano-linux-x64-release-v*.AppImage --appimage-extract +./lethean-testnet-wallet-cli \ + --generate-new-wallet my-wallet \ + --daemon-address 127.0.0.1:36941 ``` -This creates a `squashfs-root/` directory. The CLI binaries you need are inside: +You'll be prompted for a password. The wallet will display: +- Your **address** (starts with `iTHN`) +- Your **view key** +- Your **24-word seed phrase** — write this down and store it securely ``` -squashfs-root/usr/bin/zanod # the daemon (node) -squashfs-root/usr/bin/simplewallet # the CLI wallet +Generated new wallet: iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzF... +view key: 09a68f5559915664e65dd3ee0b6b0e98... ``` -Move them to a directory of your choice: +## 4. Check balance ```bash -mkdir -p ~/zano -cp squashfs-root/usr/bin/zanod squashfs-root/usr/bin/simplewallet ~/zano/ +# Open existing wallet +./lethean-testnet-wallet-cli \ + --wallet-file my-wallet \ + --daemon-address 127.0.0.1:36941 ``` -You can delete `squashfs-root/` after copying the binaries. +The wallet syncs with the daemon and shows your balance: +``` +balance unlocked / [balance total] ticker asset id +0.0 LTHN d6329b... NATIVE +``` -![Extract CLI binaries from AppImage](/img/use/install-zano-cli-wallet-ubuntu/install-extract-appimage.png) +## 5. Start mining -## 4. Start the daemon - -The daemon (`zanod`) connects to the Zano network and downloads the blockchain. Open a terminal in your Zano directory and run: +In a separate terminal, use the daemon's HTTP mining API: ```bash -./zanod +curl -X POST http://127.0.0.1:36941/start_mining \ + -H 'Content-Type: application/json' \ + -d '{"miner_address":"YOUR_iTHN_ADDRESS","threads_count":4}' ``` -Wait for the blockchain to fully sync — this can take a few hours on the first run, depending on your connection speed. Keep the daemon running; you'll need it for the next step. +Blocks are mined every ~2 minutes. Each block rewards 1 LTHN. Coins unlock after 10 confirmations (~20 minutes). -![Starting the daemon](/img/use/install-zano-cli-wallet-ubuntu/install-zanod-sync.png) +To stop mining: +```bash +curl -X POST http://127.0.0.1:36941/stop_mining \ + -H 'Content-Type: application/json' +``` -:::tip Skip the sync with a public node -If you don't want to download the full blockchain, you can connect your wallet directly to a public node instead. Skip to step 5 and add `--daemon-address` when opening your wallet: +## 6. Wallet RPC mode + +For automated services, run the wallet as an RPC server: ```bash -./simplewallet --generate-new-wallet name.wallet --daemon-address 37.27.100.59:10500 +./lethean-testnet-wallet-cli \ + --wallet-file my-wallet \ + --password "YOUR_PASSWORD" \ + --daemon-address 127.0.0.1:36941 \ + --rpc-bind-port 36944 \ + --rpc-bind-ip 127.0.0.1 ``` -See [Public Nodes](/docs/build/public-nodes) for available endpoints. -::: - -## 5. Create a new wallet - -Once the daemon is synced (or if you're using a public node), open a new terminal in the same directory: - +Test it: ```bash -./simplewallet --generate-new-wallet name.wallet +curl -X POST http://127.0.0.1:36944/json_rpc \ + -H 'Content-Type: application/json' \ + -d '{"jsonrpc":"2.0","id":"0","method":"getbalance"}' ``` -Replace `name` with whatever you'd like to call your wallet (e.g., `mywallet.wallet`). +## Binary reference -You'll be prompted to create a password. Use a strong one — a password manager like KeePass or Bitwarden is recommended. +| Binary | Description | +|--------|-------------| +| `lethean-testnet-chain-node` | Blockchain daemon (testnet) | +| `lethean-testnet-wallet-cli` | Wallet CLI + RPC server (testnet) | +| `lethean-chain-node` | Blockchain daemon (mainnet) | +| `lethean-wallet-cli` | Wallet CLI + RPC server (mainnet) | -After the password is set, the wallet will display your receive address (starts with `Zx`). This is the address you'll use to receive ZANO. +## Address types -![Create a new wallet](/img/use/install-zano-cli-wallet-ubuntu/install-generate-wallet.png) +| Prefix | Type | Use | +|--------|------|-----| +| `iTHN` | Standard | Regular wallet address | +| `iTHn` | Integrated | Address with embedded payment ID (for exchanges) | +| `iThN` | Auditable | Transparent wallet (for organisations) | +| `iThn` | Auditable integrated | Transparent + payment ID | -## 6. Back up your seed phrase - -Your seed phrase is the only way to recover your wallet if you lose the wallet file or forget the password. - -Inside the wallet console, run: - -``` -show_seed -``` - -You'll be prompted for your wallet password, then asked to set a **seed password** (also called a [passphrase](/docs/use/seed-phrase#passphrase)). This is optional — if you set one, you'll need both the seed phrase and the passphrase to restore the wallet. - -The wallet will display your **seed phrase** (26 words for current wallets). Write it down and store it somewhere safe and offline. - -![Back up your seed phrase](/img/use/install-zano-cli-wallet-ubuntu/install-show-seed.png) - -:::warning -Anyone with access to your seed phrase (and passphrase, if set) can take full control of your wallet. Never share it, never store it digitally in plain text. -::: - -## 7. Open an existing wallet - -To reopen your wallet in the future: - -```bash -./simplewallet --wallet-file name.wallet -``` - -Enter your password when prompted. - -**You're done.** Head over to [Using a Zano CLI Wallet](/docs/use/wallets/using-zano-cli-wallet-ubuntu) for sending, receiving, and more advanced operations. +> **Verified:** All commands tested on Lethean testnet. Wallet creation, daemon sync, balance check, mining via `/start_mining`, and wallet RPC all confirmed working. diff --git a/docs/use/wallets/cli/seed-doctor.md b/docs/use/wallets/cli/seed-doctor.md index bf28b40..7a0932e 100644 --- a/docs/use/wallets/cli/seed-doctor.md +++ b/docs/use/wallets/cli/seed-doctor.md @@ -5,7 +5,7 @@ slug: /use/wallets/seed-doctor # Seed Doctor: Recovering a Broken Seed Phrase -Made a typo when writing down your seed phrase? Accidentally swapped two words? The `--seed-doctor` flag is an experimental tool built into simplewallet that can help you recover your wallet from a slightly corrupted seed phrase. +Made a typo when writing down your seed phrase? Accidentally swapped two words? The `--seed-doctor` flag is an experimental tool built into lethean-wallet-cli that can help you recover your wallet from a slightly corrupted seed phrase. ## When to Use Seed Doctor @@ -22,7 +22,7 @@ It won't help if multiple words are wrong or missing entirely. No wallet file or daemon connection is needed. Just run: ```bash -./simplewallet --seed-doctor +./lethean-wallet-cli --seed-doctor ``` You'll get three prompts: @@ -37,7 +37,7 @@ Seed Doctor applies two recovery strategies, one after another: ### Strategy 1: Invalid Word Detection -The tool checks every word in your seed phrase against Zano's mnemonic wordlist. If exactly one word isn't recognized, it tries every valid word in that position and checks whether the resulting seed produces the expected wallet address (or passes the internal checksum for V2 seeds). +The tool checks every word in your seed phrase against Lethean's mnemonic wordlist. If exactly one word isn't recognized, it tries every valid word in that position and checks whether the resulting seed produces the expected wallet address (or passes the internal checksum for V2 seeds). ### Strategy 2: Adjacent Word Swap @@ -65,3 +65,4 @@ How Seed Doctor behaves depends on how many words your seed phrase has: - **Always provide your wallet address** when you have it. This narrows the search down fast and works across all seed versions. - **Double-check your passphrase** before running the tool. A wrong passphrase will make every candidate fail. - If seed doctor doesn't find a match, try re-examining your written seed for any words that look ambiguous (e.g., "though" vs "through", "bard" vs "bird") and correct them manually before running it again. + diff --git a/docs/use/wallets/cli/using-zano-cli-wallet-ubuntu.md b/docs/use/wallets/cli/using-zano-cli-wallet-ubuntu.md index 7f89b65..3ceb5c2 100644 --- a/docs/use/wallets/cli/using-zano-cli-wallet-ubuntu.md +++ b/docs/use/wallets/cli/using-zano-cli-wallet-ubuntu.md @@ -1,29 +1,29 @@ --- sidebar_position: 5 -slug: /use/wallets/using-zano-cli-wallet-ubuntu +slug: /use/wallets/using-lethean-cli-wallet-ubuntu --- -# Using a Zano CLI Wallet +# Using a Lethean CLI Wallet -This guide assumes you've already [installed Zano and created a wallet](/docs/use/wallets/install-zano-cli-wallet-ubuntu). +This guide assumes you've already [installed Lethean and created a wallet](/docs/use/wallets/install-lethean-cli-wallet-ubuntu). ## Starting up Start the daemon in one terminal: ```bash -./zanod +./lethean-chain-node ``` Once it's synced, open a second terminal and launch your wallet: ```bash -./simplewallet --wallet-file name.wallet +./lethean-wallet-cli --wallet-file name.wallet ``` Enter your password when prompted. The wallet will display your receive address after "Opened wallet." -![Open an existing wallet](/img/use/using-zano-cli-wallet-ubuntu/usage-open-wallet.png) +![Open an existing wallet](/img/use/using-lethean-cli-wallet-ubuntu/usage-open-wallet.png) To close the wallet cleanly, use the `exit` command. The daemon can be left running. @@ -41,15 +41,15 @@ To see your balance: balance ``` -To see balances for all assets (ZANO, confidential assets, etc.): +To see balances for all assets (LTHN, confidential assets, etc.): ``` balance raw ``` -![Check balance](/img/use/using-zano-cli-wallet-ubuntu/usage-balance.png) +![Check balance](/img/use/using-lethean-cli-wallet-ubuntu/usage-balance.png) -## Sending ZANO +## Sending LTHN The `transfer` command takes a mixin count, destination address, and amount: @@ -58,13 +58,13 @@ transfer
``` - **mixin_count**: the number of decoy outputs mixed with yours for privacy. Use **15** for standard wallets, **0** for auditable wallets. -- **address**: the recipient's Zano address (starts with `Zx` or `aZx`) -- **amount**: the amount of ZANO to send +- **address**: the recipient's Lethean address (starts with `iTHN` (standard) or `iThN` (auditable)) +- **amount**: the amount of LTHN to send -Example — send 10 ZANO: +Example — send 10 LTHN: ``` -transfer 15 ZxD4wSgHgE5TRVHQRbPKNthSpNSJoQp6DPLNaL4f3YT5dDQarAEHB2bVroPWhkCD59GDfVDjBBHmgLd2M1P92h5c21KwPZqg 10 +transfer 15 iTHNUNiuu3VP1yy8xH2y5iQaABKXurdjqZmzFiBiyR4dKG3j6534e9jMriY6SM7PH8NibVwVWW1DWJfQEWnSjS8n3Wgx86pQpY 10 ``` You can send to multiple recipients in one transaction: @@ -75,17 +75,17 @@ transfer 15 An optional **payment_id** can be appended at the end for services that require it. -![Send ZANO](/img/use/using-zano-cli-wallet-ubuntu/usage-transfer.png) +![Send LTHN](/img/use/using-lethean-cli-wallet-ubuntu/usage-transfer.png) ### Sending assets -To send a confidential asset other than ZANO, prefix the address with the asset ID: +To send a confidential asset other than LTHN, prefix the address with the asset ID: ``` transfer 15 :
``` -## Receiving ZANO +## Receiving LTHN Your receive address is shown when the wallet opens, or at any time with: @@ -138,34 +138,34 @@ If you've lost your wallet file or password, you can restore it using your seed Start the daemon, then in another terminal: ```bash -./simplewallet --restore-wallet name.wallet +./lethean-wallet-cli --restore-wallet name.wallet ``` You'll be prompted to create a password for the restored wallet file, then enter your seed phrase. Current wallets use 26-word seeds; older wallets may have 24 or 25 words. If the seed was secured with a [passphrase](/docs/use/seed-phrase#passphrase), you'll need that too. -![Restore wallet from seed](/img/use/using-zano-cli-wallet-ubuntu/usage-restore-wallet.png) +![Restore wallet from seed](/img/use/using-lethean-cli-wallet-ubuntu/usage-restore-wallet.png) If your seed phrase has a typo or swapped words, try the [Seed Doctor](/docs/use/wallets/seed-doctor) tool: ```bash -./simplewallet --seed-doctor +./lethean-wallet-cli --seed-doctor ``` ## Auditable wallets -Zano wallets are private by default — no third party can see balances or transactions on the blockchain. An **auditable wallet** lets a third party see your balances and transactions (e.g., for a public foundation or compliance). +Lethean wallets are private by default — no third party can see balances or transactions on the blockchain. An **auditable wallet** lets a third party see your balances and transactions (e.g., for a public foundation or compliance). For more details, see the [Auditable Wallets](/docs/use/auditable-wallets) page. ### Create an auditable wallet ```bash -./simplewallet --generate-new-auditable-wallet name.wallet +./lethean-wallet-cli --generate-new-auditable-wallet name.wallet ``` -Set a password when prompted. Note that auditable wallet addresses start with `aZx` (standard wallets start with `Zx`). +Set a password when prompted. Note that auditable wallet addresses start with `iThN` (standard wallets start with `iTHN`). -![Create an auditable wallet](/img/use/using-zano-cli-wallet-ubuntu/usage-auditable-wallet.png) +![Create an auditable wallet](/img/use/using-lethean-cli-wallet-ubuntu/usage-auditable-wallet.png) ### Get the tracking seed @@ -177,7 +177,7 @@ tracking_seed Share this tracking seed with anyone who needs to audit the wallet. They can restore a read-only copy using `--restore-wallet` and entering the tracking seed instead of a seed phrase. -![Get tracking seed](/img/use/using-zano-cli-wallet-ubuntu/usage-tracking-seed.png) +![Get tracking seed](/img/use/using-lethean-cli-wallet-ubuntu/usage-tracking-seed.png) ### Back up the seed phrase @@ -203,25 +203,25 @@ save_watch_only mywallet_watchonly.wallet mypassword ## PoS staking -You can stake ZANO directly from the CLI wallet by launching it with the `--do-pos-mining` flag: +You can stake LTHN directly from the CLI wallet by launching it with the `--do-pos-mining` flag: ```bash -./simplewallet --wallet-file name.wallet --do-pos-mining +./lethean-wallet-cli --wallet-file name.wallet --do-pos-mining ``` To send staking rewards to a different address: ```bash -./simplewallet --wallet-file name.wallet --do-pos-mining --pos-mining-reward-address
+./lethean-wallet-cli --wallet-file name.wallet --do-pos-mining --pos-mining-reward-address
``` -For an automated staking setup with PM2, see [Stake Zano on Boot](/docs/stake/advanced-setup/stake-zano-on-boot). +For an automated staking setup with PM2, see [Stake Lethean on Boot](/docs/stake/advanced-setup/stake-lethean-on-boot). -![PoS staking](/img/use/using-zano-cli-wallet-ubuntu/usage-staking.png) +![PoS staking](/img/use/using-lethean-cli-wallet-ubuntu/usage-staking.png) ## Command-line flags -These flags are passed when launching simplewallet. +These flags are passed when launching lethean-wallet-cli. | Flag | Description | |------|-------------| @@ -261,7 +261,7 @@ These commands are used inside the wallet console after opening. | `help` | Show all available commands | | `transfer` | `transfer [payment_id]` | | `list_recent_transfers` | `[offset] [count]` — show recent transactions (max 1000) | -| `list_outputs` / `lo` | `[spent\|unspent] [ticker=ZANO]` — list UTXOs | +| `list_outputs` / `lo` | `[spent\|unspent] [ticker=LTHN]` — list UTXOs | | `show_seed` | Display seed recovery phrase (26 words for current wallets) | | `spendkey` | Display secret spend key | | `viewkey` | Display secret view key | @@ -278,3 +278,4 @@ These commands are used inside the wallet console after opening. | `emit_asset` | ` ` — mint more of an asset you own | | `burn_asset` | ` ` — burn asset tokens | | `check_all_tx_keys` | Verify one-time secret keys for all sent transactions | + diff --git a/docs/use/wallets/gui-wallet.md b/docs/use/wallets/gui-wallet.md index 9be7987..182e071 100644 --- a/docs/use/wallets/gui-wallet.md +++ b/docs/use/wallets/gui-wallet.md @@ -4,11 +4,11 @@ sidebar_position: 2 # Create and Manage Wallets (GUI) -Zano Wallet lets you manage multiple ZANO wallets, which can be easily created, restored, and removed from the app. The core of each wallet is a seed phrase, a sequence of 24 words that can be used to recover your wallet's private and public keys. A unique sequence is generated every time you create a new wallet within the app. **It's important to always keep it safe and accessible.** +Lethean Wallet lets you manage multiple LTHN wallets, which can be easily created, restored, and removed from the app. The core of each wallet is a seed phrase, a sequence of 24 words that can be used to recover your wallet's private and public keys. A unique sequence is generated every time you create a new wallet within the app. **It's important to always keep it safe and accessible.** -For your convenience, it's not necessary to use a seed phrase to manage your wallet. In the official Zano Wallet apps, when you create a wallet, a wallet file is generated as well. This file is secured with an additional password, granting access to wallet features and the seed phrase. It can be copied to another device and used with another app. +For your convenience, it's not necessary to use a seed phrase to manage your wallet. In the official Lethean Wallet apps, when you create a wallet, a wallet file is generated as well. This file is secured with an additional password, granting access to wallet features and the seed phrase. It can be copied to another device and used with another app. -Zano is available for mobile (Android/iOS) and desktop (Windows, Linux and MacOS). It can be downloaded [here](https://zano.org/downloads). +Lethean is available for mobile (Android/iOS) and desktop (Windows, Linux and MacOS). It can be downloaded [here](https://downloads.lthn.io). ## Desktop Wallet Guide @@ -33,7 +33,7 @@ Zano is available for mobile (Android/iOS) and desktop (Windows, Linux and MacOS :::info -Some antivirus programs do not recognize wallet software and automatically flag it as a virus, resulting in a false positive. In that case, you will need to add zano.exe to your exclusion list. +Some antivirus programs do not recognize wallet software and automatically flag it as a virus, resulting in a false positive. In that case, you will need to add lethean.exe to your exclusion list. ::: @@ -41,7 +41,7 @@ Some antivirus programs do not recognize wallet software and automatically flag ![alt createwallet-1](/img/use/gui-wallet/create.png "create-wallet-1") -Once the app is open, it will start syncing with the blockchain. While in progress, some features such as sending transactions and contracts will be locked. Meanwhile, you can still create your first Zano wallet by clicking `Create new wallet`. +Once the app is open, it will start syncing with the blockchain. While in progress, some features such as sending transactions and contracts will be locked. Meanwhile, you can still create your first Lethean wallet by clicking `Create new wallet`. ![alt createwallet-2](/img/use/gui-wallet/create2.png "create-wallet-2") @@ -49,13 +49,13 @@ Enter wallet name and password, then click `Select wallet location`. Note that b ![alt createwallet-3](/img/use/gui-wallet/create3.png "create-wallet-3") -When the wallet file is created, you can continue with `Create wallet`. This file can be used to quickly import or restore wallets in both official Zano Wallets (Desktop and Mobile). +When the wallet file is created, you can continue with `Create wallet`. This file can be used to quickly import or restore wallets in both official Lethean Wallets (Desktop and Mobile). ![alt createwallet-4](/img/use/gui-wallet/seedphrase.png "create-wallet-4") To finalise wallet creation, generate and store the wallet's seed phrase. -You will be prompted to add an extra password to further secure the seed, known as a passphrase ([Learn more about what this means here](https://docs.zano.org/docs/use/seed-phrase)). If you choose to generate it without it, you can still later add it in the `Wallet options` menu. +You will be prompted to add an extra password to further secure the seed, known as a passphrase ([Learn more about what this means here](https://testnet-docs.lthn.io/docs/use/seed-phrase)). If you choose to generate it without it, you can still later add it in the `Wallet options` menu. :::danger @@ -65,13 +65,13 @@ IMPORTANT: Using the seed phrase, anyone can restore and take full control of th ![alt createwallet-5](/img/use/gui-wallet/wallet.png "create-wallet-5") -The wallet has been created. You can copy your wallet address to receive ZANO or Confidential Assets from exchanges, mining pools, and other sources. +The wallet has been created. You can copy your wallet address to receive LTHN or Confidential Assets from exchanges, mining pools, and other sources. ### Wallet options -Each Zano wallet can be identified by a custom name assigned upon creation. This name can be edited in `Wallet options` the section at any time. Information about the wallet file location and its seed phrase is available here. Note that you can copy the seed phrase by clicking the right mouse button over it and choosing `COPY` from the context menu. +Each Lethean wallet can be identified by a custom name assigned upon creation. This name can be edited in `Wallet options` the section at any time. Information about the wallet file location and its seed phrase is available here. Note that you can copy the seed phrase by clicking the right mouse button over it and choosing `COPY` from the context menu. -You can remove a wallet from the Zano app by clicking `Close wallet` in the same section. Note that the wallet file will remain unaffected, and you can import it again anytime if necessary. +You can remove a wallet from the Lethean app by clicking `Close wallet` in the same section. Note that the wallet file will remain unaffected, and you can import it again anytime if necessary. ### Changing wallet password @@ -85,3 +85,4 @@ In case you want to change the wallet file password, you need to use `Restore fr 6. Recover and enter the previously stored seed phrase 7. Click `Select wallet location` to choose the wallet file location and name 8. Continue with `Create wallet` + diff --git a/docs/use/wallets/locked-balance.md b/docs/use/wallets/locked-balance.md index 11ef224..751252a 100644 --- a/docs/use/wallets/locked-balance.md +++ b/docs/use/wallets/locked-balance.md @@ -15,4 +15,5 @@ Transaction of 100 coins creates in the blockchain 50 coins goes to Bob and 50 coins goes to Alice ``` -Zano architecture demands 10 confirmations for this change transaction and that amount gets locked in the wallet. Therefore, lock time is 10 blocks behind or approximately 10 minutes. +Lethean architecture demands 10 confirmations for this change transaction and that amount gets locked in the wallet. Therefore, lock time is 10 blocks behind or approximately 10 minutes. + diff --git a/docs/use/wallets/overview.md b/docs/use/wallets/overview.md index 4142369..5970fa2 100644 --- a/docs/use/wallets/overview.md +++ b/docs/use/wallets/overview.md @@ -2,28 +2,45 @@ sidebar_position: 1 --- -# Zano Apps & Wallets +# Lethean Wallets -### Desktop Apps +### CLI Wallet (recommended for testnet) -Zano GUI Wallet is available for Windows, Mac OS and Linux +The command-line wallet is the most complete and tested option. Available for Linux x86_64. -### Mobile Apps - -Zano is available in both App Store and Play Store, for Android we also provide an APK. +- [Download testnet binaries](https://downloads.lthn.io) +- [Installation guide](/docs/use/wallets/install-lethean-cli-wallet-ubuntu) +- [CLI usage guide](/docs/use/wallets/using-lethean-cli-wallet-ubuntu) ### Browser Extension -You can use Zano Companion on Chrome (Connects to your desktop wallet) +**Lethean Companion** (v1.1.10) — a MetaMask-like extension that connects web apps to your wallet. Built and tested against the testnet. -### Download Links +- [How to use](/docs/use/companion) -Available on the [Zano Website](https://new.zano.org/downloads) and [Github](https://github.com/hyle-team/zano/releases) +### Wallet RPC -### Third-Party Wallets +For automated services, exchanges, and bots — run the wallet CLI in RPC mode: -Zano has also been integrated into other multi-coin wallets [available here](https://zano.org/ecosystem/wallets) +```bash +./lethean-wallet-cli --wallet-file my-wallet --password "" \ + --daemon-address 127.0.0.1:36941 \ + --rpc-bind-port 36944 --rpc-bind-ip 127.0.0.1 +``` -### Testnet builds and Resources +- [Wallet RPC API reference](/docs/build/rpc-api/wallet-rpc) +- [Exchange integration guide](/docs/build/exchange-guidelines/starting-the-daemon-and-the-wallet-application-as-rpc-server) -For development purposes we provide a pre-built Testnet apps available [Testnet Resources](https://docs.zano.org/docs/build/testnet-resources/testnet-builds) section +### Libraries + +For building wallet integrations: +- **lethean_web3** (TypeScript) — browser + server wallet interaction +- **zano-utils-js** (TypeScript) — address encoding, key derivation, tx decoding +- **wallet-address-validator** (JavaScript) — validate iTHN addresses +- See [full library list](/docs/build/libraries/overview) + +### Testnet Resources + +- [Testnet builds](/docs/build/testnet-resources/testnet-builds) +- [Testnet guide](https://downloads.lthn.io/testnet-guide.html) +- [Block explorer](https://explorer.lthn.io) diff --git a/docs/use/wallets/security/seed-phrase.md b/docs/use/wallets/security/seed-phrase.md index b75f14b..3403c36 100644 --- a/docs/use/wallets/security/seed-phrase.md +++ b/docs/use/wallets/security/seed-phrase.md @@ -2,9 +2,9 @@ slug: /use/seed-phrase --- -# Secure Seed Phrases and Passphrases in Zano +# Secure Seed Phrases and Passphrases in Lethean -A **seed phrase** (also known as a recovery phrase or mnemonic phrase) is a set of words generated by your wallet that gives you access to the funds associated with that wallet. In Zano, a seed phrase consists of 24 to 26 words chosen from a standardized list of 1626 words. This phrase is all you need to recover your funds if you lose access to your wallet. +A **seed phrase** (also known as a recovery phrase or mnemonic phrase) is a set of words generated by your wallet that gives you access to the funds associated with that wallet. In Lethean, a seed phrase consists of 24 to 26 words chosen from a standardized list of 1626 words. This phrase is all you need to recover your funds if you lose access to your wallet. A **passphrase** is an additional layer of security that can be added to your seed phrase. When used together, the seed phrase and passphrase create a two-factor authentication system for accessing your wallet. Here’s a detailed explanation of how a seed phrase secured with a passphrase works: @@ -25,7 +25,7 @@ A **passphrase** is an additional layer of security that can be added to your se ### Adding a Passphrase -- When setting up your wallet, you have the option to add an additional passphrase (in Zano it is called Secured Seed). +- When setting up your wallet, you have the option to add an additional passphrase (in Lethean it is called Secured Seed). - This passphrase can be any string of characters you choose. Unlike the seed phrase, which is generated by the wallet, the passphrase is chosen by you. ### Security Enhancement @@ -50,4 +50,5 @@ A **passphrase** is an additional layer of security that can be added to your se ## Recovering a Corrupted Seed Phrase -If your seed phrase isn't working during wallet restoration, you may have written down a word incorrectly or swapped two adjacent words. Zano's CLI wallet includes an experimental [Seed Doctor](/docs/use/wallets/seed-doctor) tool that can attempt to fix these common mistakes. +If your seed phrase isn't working during wallet restoration, you may have written down a word incorrectly or swapped two adjacent words. Lethean's CLI wallet includes an experimental [Seed Doctor](/docs/use/wallets/seed-doctor) tool that can attempt to fix these common mistakes. + diff --git a/docs/use/wallets/security/zano-passwords.md b/docs/use/wallets/security/zano-passwords.md index 26e61f5..c270f58 100644 --- a/docs/use/wallets/security/zano-passwords.md +++ b/docs/use/wallets/security/zano-passwords.md @@ -1,31 +1,31 @@ --- -slug: /use/zano-passwords.md +slug: /use/lethean-passwords.md --- -# Different Password Types in Zano Wallets +# Different Password Types in Lethean Wallets -When managing Zano wallets, utilizing multiple password types enhances security and convenience. Each password serves a unique purpose: +When managing Lethean wallets, utilizing multiple password types enhances security and convenience. Each password serves a unique purpose: ## Wallet Password -- **Purpose:** This is the basic level of security for your Zano wallet file. +- **Purpose:** This is the basic level of security for your Lethean wallet file. - **Use Case:** - - If you run your Zano wallet on a remote server for staking, the wallet password protects the wallet file from unauthorized access. + - If you run your Lethean wallet on a remote server for staking, the wallet password protects the wallet file from unauthorized access. - When opening your wallet locally on a GUI wallet, the wallet password is required on the first launch. If the master password is enabled, the wallet password will be stored and not required for subsequent launches. ## Seed Phrase Password (Also Known as [Passphrase](/docs/use/seed-phrase#passphrase)) - **Purpose:** Adds an additional layer of security. -- **Use Case:** For paper wallets stored offline, the seed phrase password (or passphrase) ensures that even if someone gains physical access to your Zano wallet, they cannot immediately compromise it. +- **Use Case:** For paper wallets stored offline, the seed phrase password (or passphrase) ensures that even if someone gains physical access to your Lethean wallet, they cannot immediately compromise it. ## Master Password -- **Feature:** This is primarily a feature in Zano GUI wallets. +- **Feature:** This is primarily a feature in Lethean GUI wallets. - **Benefit:** - - Allows users to bypass entering individual wallet passwords every time they open the application, and it secures all GUI data, including secrets and ports that allow connections to the Zano browser extension. - - Particularly useful for users operating multiple Zano wallets, as it eliminates the need to enter each wallet password repeatedly on every launch. + - Allows users to bypass entering individual wallet passwords every time they open the application, and it secures all GUI data, including secrets and ports that allow connections to the Lethean browser extension. + - Particularly useful for users operating multiple Lethean wallets, as it eliminates the need to enter each wallet password repeatedly on every launch. - **Convenience:** Simplifies access and enhances usability, especially when managing multiple wallets. ### Why Multiple Passwords? @@ -36,4 +36,5 @@ When managing Zano wallets, utilizing multiple password types enhances security ### Key Points - **Security Best Practices:** It's crucial to use strong, unique passwords for each security layer. -- **Backup and Recovery:** Ensure all passwords and seed phrases are backed up in secure locations. Losing access to these could mean losing access to your Zano assets. +- **Backup and Recovery:** Ensure all passwords and seed phrases are backed up in secure locations. Losing access to these could mean losing access to your Lethean assets. + diff --git a/docs/use/wrapped-lethean.md b/docs/use/wrapped-lethean.md new file mode 100644 index 0000000..6a302f6 --- /dev/null +++ b/docs/use/wrapped-lethean.md @@ -0,0 +1,53 @@ +--- +sidebar_position: 4 +--- + +# Wrapped Lethean + +Wrapped Lethean (WLTHN) is an ERC-20 token on the Ethereum blockchain that can be swapped 1:1 for LTHN. + +It allows us access to the enormous existing infrastructure that exists around Ethereum and ERC-20 tokens, such as [Verse DEX](https://verse.bitcoin.com/swap/) where a LTHN pair is available. + +## How to wrap LTHN + +
+