HowTo PoP vETC

From Veriblock Wiki
Revision as of 23:32, 2 August 2021 by VeriBlockTim (talk | contribs)
Jump to: navigation, search

See: HowTo_PoP_vBTC, Altchain_PoP_Miner, Altchain_List

vETC is currently in the Alpha release phase, so bugs are expected.

Overview

vETC is the reference implementation for Ethereum-based blockchains utilizing VeriBlock's Proof-of-Proof technology. Below, you will find the steps needed to download and run the vETC daemon.

Please note, all coins associated with this network are without value, and are for testing purposes only.

In the current implementation, we are using tVBK (testnet) to PoP mine (testnet) vETC. vETC inherits security from the VeriBlock TestNet, and VeriBlock TestNet inherits security from Bitcoin Testnet.

Note: This will require running 3 processes:

  1. vETC daemon
  2. VBK daemon (full node) Future versions will be optimized for SPV (not needing a full node)
  3. APM - Altchain PoP Miner

Windows Quick Start

  1. Download vETC daemon and APM package -> TODO
  2. Unzip the archive.
  3. Change directory into the vETC-<version>-win64/vETC-<version> folder.
  4. Start vETC Daemon by running start-vetc.bat
  5. Add network nodes by running add-nodes.bat
  6. Create an address labeled "pop" by running create-address.bat
    1. Save this address for later.
  7. Wait for the network to sync.
    1. The log will show lines such as INFO [04-18|12:57:56.107] Imported new chain segment blocks=390 txs=0 mgas=0.000 elapsed=8.004s mgasps=0.000 number=24200 hash="d0251b…678d73" age=1d21h16m dirty=378.32KiB
    2. Sync is completed once the log no longer shows age= such as INFO [04-18|13:01:09.911] Imported new chain segment blocks=4 txs=0 mgas=0.000 elapsed=86.181ms mgasps=0.000 number=35761 hash="bc49b7…3ad489" dirty=387.12KiB
  8. Start NodeCore and download TestNet Bootstrap
    1. Change directory into the nodecore-<version> folder.
    2. Run download_testnet_bootstrap.bat and wait for it to complete.
    3. Start nodecore from inside the bin directory by running nodecore.bat
  9. Copy your address from earlier and edit apm/bin/application.conf to add your payout address for pop mining.
    1. The generated address will be similar to 0x440e607bd08680aef39ace98443384ea4e6c29e9 and you will want to remove the 0x from the beginning when you add it to application.conf
    2. payoutAddress: "440e607bd08680aef39ace98443384ea4e6c29e9"
  10. Start the APM from apm/bin using altchain-pop-miner.bat
  11. Use VeriBlock TestNet faucet to fund your PoP miner wallet or contact the team on Discord for some tVBK

With the default configuration files provided, PoP mining is auto-enabled on all rounds.

Linux Quick Start

  1. Download vETC daemon and APM package -> TODO
  2. Unzip the archive.
  3. Change directory into the vETC-<version>-linux-x64/vETC-<version> folder.
  4. Start vETC Daemon by running start-vetc.sh
  5. Add network nodes by running add-nodes.sh
  6. Create an address labeled "pop" by running create-address.sh
    1. This will create or add to a file called addresses that you can reference to view the addresses created using this method.
  7. Wait for the network to sync.
    1. The log will show lines such as INFO [04-18|12:57:56.107] Imported new chain segment blocks=390 txs=0 mgas=0.000 elapsed=8.004s mgasps=0.000 number=24200 hash="d0251b…678d73" age=1d21h16m dirty=378.32KiB
    2. Sync is completed once the log no longer shows age= such as INFO [04-18|13:01:09.911] Imported new chain segment blocks=4 txs=0 mgas=0.000 elapsed=86.181ms mgasps=0.000 number=35761 hash="bc49b7…3ad489" dirty=387.12KiB
  8. Start NodeCore and download TestNet Bootstrap
    1. Change directory into the nodecore-<version> folder.
    2. Run download_testnet_bootstrap.sh and wait for it to complete.
    3. Start nodecore from inside the bin directory by running ./nodecore
  9. View your address from addresses and edit apm/bin/application.conf to add your payout address for pop mining.
    1. The generated address will be similar to 0x440e607bd08680aef39ace98443384ea4e6c29e9 and you will want to remove the 0x from the beginning when you add it to application.conf
    2. payoutAddress: "440e607bd08680aef39ace98443384ea4e6c29e9"
  10. Start the APM from apm/bin using ./altchain-pop-miner
  11. Use VeriBlock TestNet faucet to fund your PoP miner wallet or contact the team on Discord for some tVBK

With the default configuration files provided, PoP mining is auto-enabled on all rounds.

Running example of APM output

2021-04-18 13:05:59 DefaultDis INFO  AltchainPopMinerService   - SPV: Blockchain is ready. Current height 1469101
2021-04-18 13:06:00 nc-poll    INFO  VeriBlockNetwork          - SPV is synchronized: 0 blocks left (LocalHeight=1469101 NetworkHeight=1469101 InitialBlockDownload=false)
2021-04-18 13:06:00 nc-poll    INFO  AltchainPopMinerService   - SPV is ready
2021-04-18 13:06:04 si-poll    INFO  SecurityInheritingMonitor - Connecting to vEthereum daemon at http://localhost:8545...
2021-04-18 13:06:09 si-poll    INFO  AltchainPopMinerService   - Successfully connected to vEthereum chain at http://localhost:8545
2021-04-18 13:06:09 si-poll    INFO  SecurityInheritingMonitor - The connected vEthereum chain is synchronized: connecting to the network...
2021-04-18 13:06:09 si-poll    INFO  AltchainPopMinerService   - eth chain is ready
2021-04-18 13:06:10 si-poll    INFO  SecurityInheritingMonitor - Starting continuous submission of VBK context for vEthereum
2021-04-18 13:06:10 si-poll    INFO  SecurityInheritingMonitor - Starting continuous submission of VTBs for vEthereum
2021-04-18 13:06:10 si-poll    INFO  SecurityInheritingMonitor - vEthereum's known VBK context block: 000000128C6433A4D7613114BB1B1F510D37F41D5EF786CF @ 1469101. Bitcoin context block: 0000000000000014A569764F066E9A42AB5447F747E4D376BBA302D33B4C8011. Waiting for next VBK keystone...
2021-04-18 13:06:22 nc-poll    INFO  AltchainPopMinerService   - Current balance: 10.00000000 tVBK
2021-04-18 13:06:22 nc-poll    INFO  AltchainPopMinerService   - PoP wallet contains sufficient funds: 10.00000000 tVBK
2021-04-18 13:06:32 si-poll    INFO  SecurityInheritingMonitor - Successfully submitted 1 VBK context block(s) to vEthereum.
2021-04-18 13:06:39 si-poll    INFO  SecurityInheritingMonitor - Successfully submitted 1 VBK context block(s) to vEthereum.
2021-04-18 13:06:50 si-poll    INFO  AltchainPopMinerService   - Created operation [eth18c0eb7e] on chain vEthereum
2021-04-18 13:06:50 pop-tasks- INFO  ApmTaskService            - [eth18c0eb7e] Getting the mining instruction...
2021-04-18 13:06:50 pop-tasks- INFO  ApmTaskService            - [eth18c0eb7e] Successfully retrieved the mining instruction!
2021-04-18 13:06:50 pop-tasks- INFO  ApmTaskService            - [eth18c0eb7e] Submitting endorsement VBK transaction...
2021-04-18 13:06:50 pop-tasks- INFO  ApmTaskService            - [eth18c0eb7e] Successfully added the VBK transaction: 3AD14A6A7C39E66B589A404741EDB576A716AB0878B1C87C9389DCCB5F3E047C!
2021-04-18 13:06:50 pop-tasks- INFO  ApmTaskService            - [eth18c0eb7e] Waiting for the transaction to be included in VeriBlock block...
2021-04-18 13:07:07 si-poll    INFO  SecurityInheritingMonitor - Successfully submitted 1 VBK context block(s) to vEthereum.
2021-04-18 13:07:21 pop-tasks- INFO  ApmTaskService            - [eth18c0eb7e] Successfully added the VBK block of proof!
2021-04-18 13:07:21 pop-tasks- INFO  ApmTaskService            - [eth18c0eb7e] Getting the merkle path for the transaction: 3AD14A6A7C39E66B589A404741EDB576A716AB0878B1C87C9389DCCB5F3E047C...
2021-04-18 13:07:21 pop-tasks- INFO  ApmTaskService            - [eth18c0eb7e] Successfully retrieved the merkle path for the transaction: 3AD14A6A7C39E66B589A404741EDB576A716AB0878B1C87C9389DCCB5F3E047C!
2021-04-18 13:07:21 pop-tasks- INFO  ApmTaskService            - [eth18c0eb7e] Successfully added the verified merkle path!
2021-04-18 13:07:21 si-poll    INFO  SecurityInheritingMonitor - Successfully submitted 1 VBK context block(s) to vEthereum.
2021-04-18 13:07:21 pop-tasks- INFO  ApmTaskService            - ATV=4411F56192B1ED6FE964D429C5FE804196B6B80B1B77D1F313155D232D2B6178 has been accepted by POP mempool in vEthereum
2021-04-18 13:07:21 pop-tasks- WARN  ApmTaskService            - [eth18c0eb7e] The payout detection configuration is disabled!
2021-04-18 13:07:26 nc-poll    INFO  AltchainPopMinerService   - Current balance: 9.98598000 tVBK

View your rewards

You can view your rewards either via the ETC command line, or via the explorer.

http://65.21.85.75:30305/#/address/45a167d1cba72b10027acda208f3b29e704ad881

Vetc rewards.png

Completed PoP Operation

 > getoperation eth18c0eb7e
getoperation eth18c0eb7e
Operation data:
{
  "operationId": "eth18c0eb7e",
  "chain": "vEthereum",
  "state": "Completed",
  "blockHeight": 35775,
  "task": "",
  "stateDetail": {
    "expectedRewardBlock": "36275",
    "chainIdentifier": "3",
    "publicationDataHeader": "F90213A05694F12533A96D2006F0BE5B6B6C26F70E17C042C59179A5D163296B8EC8178DA01DCC4DE8DEC75D7AAB85B567B6CCD41AD312451B948A7413F0A142FD40D493479490E587C281FFE50C968381F2F7E496B9D7481257A0DB1C64A5179A4D6C24E07B80E6EC91A30B6BF02D64707AAA30CD2F4C1A070040A04D8B34559B12BA3A48A62C32C174BB64C733DDFA855694CA934B595C1B35B7ABA056E81F171BCC55A6FF8345E692C0F86E5B48E01B996CADC001622FB5E363B421B90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008377F823828BBF837A12008084607C2EC69AD983010B10846765746889676F312E31352E3131856C696E7578A0360045B1081A5E6B32524614A2230262F54DAD11891AC05E7054D7D5F4287982880F97DDB32B2351DB",
    "publicationDataContextInfo": "00008BBF2068543A9E1368AFCA5B480B07074014729C032C305B22B4A8E199F57041E39CA320B281EA7A697E0E42710BD105738D9B74BA2E01B74B92877BD175AA3420CC7DA2F5C1901804CCC1E5D12FA86C033354BCD9AFC027CF3BCF573A3DB31D0DDC24B2",
    "publicationDataPayoutInfo": "440E607BD08680AEF39ACE98443384EA4E6C29E9",
    "vbkContextBlockHashes": "00000009F0A3EA4ED8DEF610F0C17B451EA869B060E5C037",
    "btcContextBlockHashes": "0000000000000014A569764F066E9A42AB5447F747E4D376BBA302D33B4C8011",
    "vbkEndorsementTxId": "3AD14A6A7C39E66B589A404741EDB576A716AB0878B1C87C9389DCCB5F3E047C",
    "vbkEndorsementTxFee": "0.00701000",
    "vbkBlockOfProof": "0000000D00F5C3D900EACB8F384BA658D6CB2690AA5C4814",
    "merklePath": "1:4:3AD14A6A7C39E66B589A404741EDB576A716AB0878B1C87C9389DCCB5F3E047C:F181EB89CE89765842CCD48B212C398453DDDEB979599E537AF8FF7BF18A0EEF:7486AD228D7869640B84684D03C4EDFE58C3C0FF75E380D692143D3685109A9E:8C1E39DC962C619999C520EFF808130C63A18E9D74AC757C4B5EA4EA574781A5:0000000000000000000000000000000000000000000000000000000000000000:0FE5CFEB073D15070DB9AC581CC8229F72183909F69A0CD98AFBB7E341DA90F3",
    "altAtvId": "4411F56192B1ED6FE964D429C5FE804196B6B80B1B77D1F313155D232D2B6178",
    "payoutBlockHash": "Completed! Payout detection disabled",
    "payoutAmount": "0"
  }
}
Operation workflow:
DONE      1. START                           Created APM operation id: eth18c0eb7e
DONE      2. RETRIEVE_MINING_INSTRUCTION     Endorsed vEthereum block height: 35775
DONE      3. SUBMIT_ENDORSEMENT_TRANSACTION  tVBK endorsement transaction id: 3AD14A6A7C39E66B589A404741EDB576A716AB0878B1C87C9389DCCB5F3E047C (fee: 0.00701000)
DONE      4. CONFIRM_ENDORSEMENT_TRANSACTION
DONE      5. DETERMINE_BLOCK_OF_PROOF        tVBK Block of Proof: 0000000D00F5C3D900EACB8F384BA658D6CB2690AA5C4814 @ 1469106
DONE      6. PROVE_ENDORSEMENT_TRANSACTION   Merkle path has been verified
DONE      7. SUBMIT_POP_TRANSACTION          ATV: 4411F56192B1ED6FE964D429C5FE804196B6B80B1B77D1F313155D232D2B6178 submitted to vEthereum!
DONE      8. DETECT_PAYOUT                   Skipped
DONE     9. COMPLETED                        Paid amount: Unknown (payout detection is disabled)
200 success (16.53 ms)

Explorer

Altchain vETC explorer:

http://65.21.85.74:30305/#/

Vetc explorer 1.png


See vETC transactions on VeriBlock network:

https://testnet.explore.veriblock.org/altchain-details/3

GitHub Repository

Coming soon...

Troubleshooting

More details coming soon...