├── .gitignore ├── general ├── 06_DPOS │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 06_DPOS.md ├── 09_BuyARK │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 09_BuyARK.md ├── 22_License │ ├── assets │ │ ├── img │ │ │ ├── .dlf │ │ │ └── 99f195e8-cc47-4119-bf52-1448a0604187.png │ │ └── info.md │ └── 22_License.md ├── 00_WhatIsARK │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 00_WhatIsARK.md ├── 05_PeersNodes │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 05_PeersNodes.md ├── 08_Transactions │ ├── assets │ │ ├── img │ │ │ ├── .dlf │ │ │ ├── Transactions_01.png │ │ │ ├── Transactions_03.png │ │ │ ├── Transactions_04.png │ │ │ ├── Transactions_05.png │ │ │ ├── Transactions_06.png │ │ │ ├── Transactions_07.png │ │ │ ├── Transactions_08.png │ │ │ ├── Transactions_09.png │ │ │ └── arkDocumentation.png │ │ └── info.md │ └── 08_Transactions.md ├── 10_ARKDesktopApp │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 10_ARKDesktopApp.md ├── 11_ARKMobileApp │ ├── assets │ │ ├── img │ │ │ ├── .dlf │ │ │ ├── arkWallet.PNG │ │ │ ├── impactor.png │ │ │ ├── arkWallet10.PNG │ │ │ ├── arkWallet11.PNG │ │ │ ├── arkWallet12.PNG │ │ │ ├── arkWallet13.PNG │ │ │ ├── arkWallet14.PNG │ │ │ ├── arkWallet15.PNG │ │ │ ├── arkWallet16.PNG │ │ │ ├── arkWallet17.PNG │ │ │ ├── arkWallet18.PNG │ │ │ ├── arkWallet2.PNG │ │ │ ├── arkWallet3.PNG │ │ │ ├── arkWallet4.PNG │ │ │ ├── arkWallet5.PNG │ │ │ ├── arkWallet6.PNG │ │ │ ├── arkWallet7.PNG │ │ │ ├── arkWallet8.PNG │ │ │ └── arkWallet9.PNG │ │ └── info.md │ └── 11_ARKMobileApp.md ├── 15_SetupARKNode │ ├── assets │ │ ├── img │ │ │ ├── .dlf │ │ │ ├── add_user.png │ │ │ ├── snapshot.png │ │ │ ├── root_login.png │ │ │ ├── prerequisites.png │ │ │ ├── puTTy_login.jpeg │ │ │ ├── reboot_warning.png │ │ │ ├── setup_secret.png │ │ │ ├── install_ark_node.png │ │ │ ├── ssh_fingerprint.png │ │ │ ├── ssh_information.png │ │ │ ├── ark_commander_login.png │ │ │ ├── snapshot_restored.png │ │ │ └── update_ark_commander.png │ │ └── info.md │ └── 15_SetupARKNode.md ├── 16_SecureARKNode │ ├── assets │ │ ├── img │ │ │ ├── .dlf │ │ │ ├── fail2ban.png │ │ │ ├── knockd.png │ │ │ ├── max_startups.png │ │ │ ├── port_change.png │ │ │ ├── synched_chain.png │ │ │ ├── authentication.png │ │ │ ├── cloudflare_dns.png │ │ │ ├── x11_forwarding.png │ │ │ ├── cloudflare_crypto.png │ │ │ └── cloudflare_certificate.png │ │ └── info.md │ └── 16_SecureARKNode.md ├── 18_BridgedChains │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 18_BridgedChains.md ├── 20_Integrate │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 20_Integrate.md ├── 21_Contribute │ ├── assets │ │ ├── img │ │ │ ├── .dlf │ │ │ ├── GithubNewPR.png │ │ │ ├── GithubForkButton.png │ │ │ ├── GithubPRCompare.png │ │ │ └── GithubPRSuggestion.png │ │ └── info.md │ └── 21_Contribute.md ├── 23_Ecosystem │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 23_Ecosystem.md ├── 26_Placeholder │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 26_Placeholder.md ├── 27_FirstSteps │ ├── assets │ │ ├── img │ │ │ ├── .dlf │ │ │ ├── ARKCLIENT1A.png │ │ │ ├── ARKCLIENT2.png │ │ │ ├── ARKCLIENT3.png │ │ │ ├── ARKCLIENT4.png │ │ │ ├── ARKCLIENT5.png │ │ │ ├── ARKCLIENT6.png │ │ │ ├── ARKCLIENT7A.png │ │ │ ├── ARKCLIENT8.png │ │ │ └── ARK_CLI_HEADER.png │ │ └── info.md │ └── 27_FirstSteps.md ├── 28_ARKGlossary │ ├── assets │ │ ├── img │ │ │ ├── .dlf │ │ │ ├── block.PNG │ │ │ ├── delegate.PNG │ │ │ └── transaction.PNG │ │ └── info.md │ └── 28_ARKGlossary.md ├── 01_WhatIsBlockchain │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 01_WhatIsBlockchain.md ├── 02_WhenNeedBlockchain │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 02_WhenNeedBlockchain.md ├── 04_WhatIsARKAddress │ ├── assets │ │ ├── img │ │ │ ├── .dlf │ │ │ ├── arkDiagram04-001.png │ │ │ └── arkDiagram04-002.png │ │ └── info.md │ ├── mermaids.md │ └── 04_WhatIsARKAddress.md ├── 12_BlockchainExplorer │ ├── assets │ │ ├── img │ │ │ ├── .dlf │ │ │ ├── DROPDOWN.png │ │ │ ├── TOPWALLETS.png │ │ │ ├── HEADERoverview.png │ │ │ ├── DELEGATEOVERVIEW.png │ │ │ ├── NetworkInformation.png │ │ │ ├── LatestBlockOverview.png │ │ │ ├── DELEGATEMONITOROVERVIEW.png │ │ │ ├── LatestTransactionOverview.png │ │ │ └── MobileBlockExplorerOverview.png │ │ └── info.md │ └── 12_BlockchainExplorer.md ├── 13_LocalBridgeChain │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 13_LocalBridgeChain.md ├── 14_BridgeChainAzure │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 14_BridgeChainAzure.md ├── 17_DPOSEconomicModel │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 17_DPOSEconomicModel.md ├── 19_DatabaseStructure │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 19_DatabaseStructure.md ├── 24_AddCoinsDesktop │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 24_AddCoinsDesktop.md ├── 25_DevEnvironment │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 25_DevEnvironment.md ├── 07_BlockchainCommunication │ ├── assets │ │ ├── img │ │ │ └── .dlf │ │ └── info.md │ └── 07_BlockchainCommunication.md └── 03_ConsensusMechanism │ ├── assets │ └── info.md │ └── 03_ConsensusMechanism.md ├── .gitattributes ├── assets └── img │ └── arkDocumentation.png ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /general/06_DPOS/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/09_BuyARK/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/22_License/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/00_WhatIsARK/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/05_PeersNodes/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/08_Transactions/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/10_ARKDesktopApp/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/18_BridgedChains/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/20_Integrate/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/21_Contribute/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/23_Ecosystem/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/26_Placeholder/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/27_FirstSteps/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/28_ARKGlossary/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/01_WhatIsBlockchain/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/02_WhenNeedBlockchain/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/04_WhatIsARKAddress/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/13_LocalBridgeChain/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/14_BridgeChainAzure/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/17_DPOSEconomicModel/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/19_DatabaseStructure/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/24_AddCoinsDesktop/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/25_DevEnvironment/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /general/07_BlockchainCommunication/assets/img/.dlf: -------------------------------------------------------------------------------- 1 | ..; 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /general/06_DPOS/06_DPOS.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/09_BuyARK/09_BuyARK.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/05_PeersNodes/05_PeersNodes.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/20_Integrate/20_Integrate.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/23_Ecosystem/23_Ecosystem.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/18_BridgedChains/18_BridgedChains.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/26_Placeholder/26_Placeholder.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/24_AddCoinsDesktop/24_AddCoinsDesktop.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/25_DevEnvironment/25_DevEnvironment.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/01_WhatIsBlockchain/01_WhatIsBlockchain.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/02_WhenNeedBlockchain/02_WhenNeedBlockchain.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/13_LocalBridgeChain/13_LocalBridgeChain.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/14_BridgeChainAzure/14_BridgeChainAzure.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/17_DPOSEconomicModel/17_DPOSEconomicModel.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/19_DatabaseStructure/19_DatabaseStructure.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /assets/img/arkDocumentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/assets/img/arkDocumentation.png -------------------------------------------------------------------------------- /general/28_ARKGlossary/assets/img/block.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/28_ARKGlossary/assets/img/block.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/impactor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/impactor.png -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/add_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/add_user.png -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/snapshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/snapshot.png -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/img/fail2ban.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/16_SecureARKNode/assets/img/fail2ban.png -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/img/knockd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/16_SecureARKNode/assets/img/knockd.png -------------------------------------------------------------------------------- /general/21_Contribute/assets/img/GithubNewPR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/21_Contribute/assets/img/GithubNewPR.png -------------------------------------------------------------------------------- /general/27_FirstSteps/assets/img/ARKCLIENT1A.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/27_FirstSteps/assets/img/ARKCLIENT1A.png -------------------------------------------------------------------------------- /general/27_FirstSteps/assets/img/ARKCLIENT2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/27_FirstSteps/assets/img/ARKCLIENT2.png -------------------------------------------------------------------------------- /general/27_FirstSteps/assets/img/ARKCLIENT3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/27_FirstSteps/assets/img/ARKCLIENT3.png -------------------------------------------------------------------------------- /general/27_FirstSteps/assets/img/ARKCLIENT4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/27_FirstSteps/assets/img/ARKCLIENT4.png -------------------------------------------------------------------------------- /general/27_FirstSteps/assets/img/ARKCLIENT5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/27_FirstSteps/assets/img/ARKCLIENT5.png -------------------------------------------------------------------------------- /general/27_FirstSteps/assets/img/ARKCLIENT6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/27_FirstSteps/assets/img/ARKCLIENT6.png -------------------------------------------------------------------------------- /general/27_FirstSteps/assets/img/ARKCLIENT7A.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/27_FirstSteps/assets/img/ARKCLIENT7A.png -------------------------------------------------------------------------------- /general/27_FirstSteps/assets/img/ARKCLIENT8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/27_FirstSteps/assets/img/ARKCLIENT8.png -------------------------------------------------------------------------------- /general/28_ARKGlossary/assets/img/delegate.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/28_ARKGlossary/assets/img/delegate.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet10.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet10.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet11.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet11.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet12.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet12.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet13.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet13.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet14.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet14.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet15.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet15.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet16.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet16.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet17.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet17.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet18.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet18.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet2.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet3.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet4.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet5.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet6.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet7.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet7.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet8.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet8.PNG -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/img/arkWallet9.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/11_ARKMobileApp/assets/img/arkWallet9.PNG -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/root_login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/root_login.png -------------------------------------------------------------------------------- /general/28_ARKGlossary/assets/img/transaction.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/28_ARKGlossary/assets/img/transaction.PNG -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/assets/img/DROPDOWN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/12_BlockchainExplorer/assets/img/DROPDOWN.png -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/prerequisites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/prerequisites.png -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/puTTy_login.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/puTTy_login.jpeg -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/reboot_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/reboot_warning.png -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/setup_secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/setup_secret.png -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/img/max_startups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/16_SecureARKNode/assets/img/max_startups.png -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/img/port_change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/16_SecureARKNode/assets/img/port_change.png -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/img/synched_chain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/16_SecureARKNode/assets/img/synched_chain.png -------------------------------------------------------------------------------- /general/21_Contribute/assets/img/GithubForkButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/21_Contribute/assets/img/GithubForkButton.png -------------------------------------------------------------------------------- /general/21_Contribute/assets/img/GithubPRCompare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/21_Contribute/assets/img/GithubPRCompare.png -------------------------------------------------------------------------------- /general/27_FirstSteps/assets/img/ARK_CLI_HEADER.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/27_FirstSteps/assets/img/ARK_CLI_HEADER.png -------------------------------------------------------------------------------- /general/08_Transactions/assets/img/Transactions_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/08_Transactions/assets/img/Transactions_01.png -------------------------------------------------------------------------------- /general/08_Transactions/assets/img/Transactions_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/08_Transactions/assets/img/Transactions_03.png -------------------------------------------------------------------------------- /general/08_Transactions/assets/img/Transactions_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/08_Transactions/assets/img/Transactions_04.png -------------------------------------------------------------------------------- /general/08_Transactions/assets/img/Transactions_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/08_Transactions/assets/img/Transactions_05.png -------------------------------------------------------------------------------- /general/08_Transactions/assets/img/Transactions_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/08_Transactions/assets/img/Transactions_06.png -------------------------------------------------------------------------------- /general/08_Transactions/assets/img/Transactions_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/08_Transactions/assets/img/Transactions_07.png -------------------------------------------------------------------------------- /general/08_Transactions/assets/img/Transactions_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/08_Transactions/assets/img/Transactions_08.png -------------------------------------------------------------------------------- /general/08_Transactions/assets/img/Transactions_09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/08_Transactions/assets/img/Transactions_09.png -------------------------------------------------------------------------------- /general/08_Transactions/assets/img/arkDocumentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/08_Transactions/assets/img/arkDocumentation.png -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/assets/img/TOPWALLETS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/12_BlockchainExplorer/assets/img/TOPWALLETS.png -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/install_ark_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/install_ark_node.png -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/ssh_fingerprint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/ssh_fingerprint.png -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/ssh_information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/ssh_information.png -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/img/authentication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/16_SecureARKNode/assets/img/authentication.png -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/img/cloudflare_dns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/16_SecureARKNode/assets/img/cloudflare_dns.png -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/img/x11_forwarding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/16_SecureARKNode/assets/img/x11_forwarding.png -------------------------------------------------------------------------------- /general/21_Contribute/assets/img/GithubPRSuggestion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/21_Contribute/assets/img/GithubPRSuggestion.png -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/ark_commander_login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/ark_commander_login.png -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/snapshot_restored.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/snapshot_restored.png -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/img/cloudflare_crypto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/16_SecureARKNode/assets/img/cloudflare_crypto.png -------------------------------------------------------------------------------- /general/04_WhatIsARKAddress/assets/img/arkDiagram04-001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/04_WhatIsARKAddress/assets/img/arkDiagram04-001.png -------------------------------------------------------------------------------- /general/04_WhatIsARKAddress/assets/img/arkDiagram04-002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/04_WhatIsARKAddress/assets/img/arkDiagram04-002.png -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/assets/img/HEADERoverview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/12_BlockchainExplorer/assets/img/HEADERoverview.png -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/img/update_ark_commander.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/15_SetupARKNode/assets/img/update_ark_commander.png -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/assets/img/DELEGATEOVERVIEW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/12_BlockchainExplorer/assets/img/DELEGATEOVERVIEW.png -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/assets/img/NetworkInformation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/12_BlockchainExplorer/assets/img/NetworkInformation.png -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/img/cloudflare_certificate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/16_SecureARKNode/assets/img/cloudflare_certificate.png -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/assets/img/LatestBlockOverview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/12_BlockchainExplorer/assets/img/LatestBlockOverview.png -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/assets/img/DELEGATEMONITOROVERVIEW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/12_BlockchainExplorer/assets/img/DELEGATEMONITOROVERVIEW.png -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/assets/img/LatestTransactionOverview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/12_BlockchainExplorer/assets/img/LatestTransactionOverview.png -------------------------------------------------------------------------------- /general/22_License/assets/img/99f195e8-cc47-4119-bf52-1448a0604187.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/22_License/assets/img/99f195e8-cc47-4119-bf52-1448a0604187.png -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/assets/img/MobileBlockExplorerOverview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArkEcosystemArchive/legacy-docs/HEAD/general/12_BlockchainExplorer/assets/img/MobileBlockExplorerOverview.png -------------------------------------------------------------------------------- /general/06_DPOS/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/09_BuyARK/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/22_License/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/00_WhatIsARK/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/05_PeersNodes/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/08_Transactions/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/11_ARKMobileApp/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/15_SetupARKNode/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/20_Integrate/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/21_Contribute/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/23_Ecosystem/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/26_Placeholder/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/27_FirstSteps/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/01_WhatIsBlockchain/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/04_WhatIsARKAddress/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/10_ARKDesktopApp/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/13_LocalBridgeChain/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/14_BridgeChainAzure/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/16_SecureARKNode/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/17_DPOSEconomicModel/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/18_BridgedChains/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/19_DatabaseStructure/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/24_AddCoinsDesktop/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/25_DevEnvironment/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/02_WhenNeedBlockchain/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/07_BlockchainCommunication/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/28_ARKGlossary/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: BlockchainDeal 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/03_ConsensusMechanism/assets/info.md: -------------------------------------------------------------------------------- 1 | ### Contributor details 2 | 3 | * ALIAS: BlockchainDeal 4 | * EMAIL: 5 | * ARK: 6 | * DARK: 7 | 8 | ### Important links 9 | 10 | [ArkEcosystem](https://github.com/ArkEcosystem) 11 | 12 | ### Comments 13 | 14 | > Remarks, regards and concerns 15 | -------------------------------------------------------------------------------- /general/04_WhatIsARKAddress/mermaids.md: -------------------------------------------------------------------------------- 1 | **From passphrase to private and public keys** 2 | ```mermaid 3 | graph LR 4 | P(passphrase) --> S{SHA 256} 5 | S -- "32-byte-size seed" --> T{
ECDSA
SECP256k1
} 6 | T --> P1(private key) 7 | T --> P2(public key) 8 | style P fill:#ccf,stroke:#66f,stroke-width:4px 9 | style P1 fill:#fcc,stroke:#f66,stroke-width:4px 10 | style P2 fill:#fcc,stroke:#f66,stroke-width:4px 11 | ``` 12 | **From public key to address** 13 | ```mermaid 14 | graph LR 15 | P2(public key) --> R{RIPEMD 160} 16 | R -- "20-byte-size seed" --> X{"slice(0,19)"} 17 | X --> O{+} 18 | M(modifier) --> O 19 | O --> B{
BASE 58
encode_check
} 20 | B --> A(
address
) 21 | style M fill:#ccf,stroke:#66f,stroke-width:4px 22 | style P2 fill:#ccf,stroke:#66f,stroke-width:4px 23 | style A fill:#fcc,stroke:#f66,stroke-width:4px 24 | ``` 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Ark Ecosystem 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /general/22_License/22_License.md: -------------------------------------------------------------------------------- 1 | # Licenses used in the ARK ecosystem 2 | ![License Overview](./assets/img/99f195e8-cc47-4119-bf52-1448a0604187.png) 3 | 4 | 5 | Everything that the ARK team produces or is in the ARK ecosystem falls under what is called the MIT License and reads as follows 6 | 7 | **"Copyright (c) 2017 Ark.io, Alex Barnsley alex@ark.io, Brian Faust brian@ark.io Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."** 8 | 9 | 10 | This license originated at the Massachusetts Institute of Technology (MIT) and is what is called a permissive free software license. This allows for proprietary software to be distributed open source to the public as long as the original MIT license is included along with the code in all distributable copies. The ARK MIT license only requires the original MIT license that includes attribution to the ARK team be distributed when proprietary software is used. 11 | 12 | ---------------- 13 | [contributor information](./assets/info.md) 14 | 15 | -------------------------------------------------------------------------------- /general/00_WhatIsARK/00_WhatIsARK.md: -------------------------------------------------------------------------------- 1 | # Welcome to Ark. 2 | 3 | ARK provides users, developers, and start-ups with innovative Blockchain technologies. We aim to create an entire ecosystem of linked chains and a virtual spiderweb of endless use-cases that make ARK highly flexible, adaptable, and scalable. ARK is a secure platform designed for mass adoption and will deliver the services that consumers want and developers need. 4 | 5 | Everyone can use Ark as a digital and cryptographically secured payment method, with lightning fast transaction speeds. But that’s only breaking the surface of this Blockchain. Beyond that there is a blend of technologies that make Ark’s vision unique and unlike any other cryptocurrency or Blockchain out there. 6 | Features like: 7 | - Smartbridge Technology - The ability to communicate and utilize the advantages and technologies of other blockchains. 8 | - Push Button Deployment – To customize and create a new blockchain and token with a few mouse clicks. 9 | - arkVM – Solidity Smart Contracts in a highly scalable environment with low fees. 10 | - Delegated Proof of Stake – The consensus algorithm that has been adapted and optimized by Ark to have transaction times of 8 seconds in a decentralized environment where every Ark token owner has a proportional voice in the decision making of the network with the chance of earning Block rewards for stakeholding. 11 | - Ark Internet-of-Things Devices – Different kind of Internet-of-Things devices which are compatible with the Ark Ecosystem and will enhance daily lives in a way never before seen. 12 | - Easy-to-use: The wallet has no loading times and works right away without needing to download the whole Blockchain. All User interfaces are kept as clear and simple as possible. 13 | 14 | The fast transaction times, ability to scale without limits, and an ecosystem of blockchains that can all talk to one another gives ARK all the tools needed to bring Blockchains to a new level. In the following episodes you’ll also see that one of Ark’s biggest advantages is its end-user friendly architecture. 15 | 16 | ## Mission 17 | 18 | ## Vision 19 | 20 | ---------------- 21 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![ARK Documentations](https://github.com/ArkEcosystem/docs/blob/master/assets/img/arkDocumentation.png) 2 | 3 | ## How to Contribute to ARK Documentation 4 | 5 | This guide describes how to write and submit documentation to ARK docs. If you would like to write on a specific topic, please visit our project https://github.com/ArkEcosystem/docs/projects/1 page to choose a topic (you can see which are to-do and which are ongoing). Get in touch with ‘boldninja’ in [ARK Slack](https://ark.io/slack) to apply for specific section, send your previous work (if applicable) and to confirm if the topic has been taken. 6 | 7 | When your topic has been accepted, you are ready to follow the steps in this guide, and contribute to the documentation. 8 | 9 | Also read blog post for more info : https://blog.ark.io/want-to-help-write-articles-guides-documentation-for-ark-deb1e7b465e1 10 | 11 | ## Formatting and general layout 12 | All the guides and content must be in [markdown structure and format](https://guides.github.com/features/mastering-markdown). Keep your folder structure organized (include assets folder where you will add images, keep the main markdown files on the root level of your folder, do not split the guide into more files). 13 | 14 | Please follow the general structure, and add your topics in between. The general structure must consist of: 15 | 16 | - Introduction 17 | - Before you begin section (with possible links to previous content) 18 | - Your content (free to organize according to your preferences) 19 | - Conclusion (with next steps and links to other content, if available) 20 | 21 | ## How to submit new documentation or guide 22 | Fork the ARK docs repository. All of our guides are stored in the github.com/ARKEcosystem/docs repository. You will need to clone forked repository to your local computer. Check the project tasks, to see which guides are already in progress and what is still free. Please make sure your topic or guide is accepted first, before continuing to work on it. After you are done with your work submit a pull-request with your content at https://github.com/ArkEcosystem/docs/pulls, we’ll review it and get back to you. 23 | 24 | 25 | >This is not “first come, first serve”. All submissions will be reviewed and quality matters more than quantity. 26 | 27 | For more information about using Git, refer to the official Git documentation. If you're a Git beginner, both GitHub and GitLab offer excellent primers to get you started. 28 | -------------------------------------------------------------------------------- /general/07_BlockchainCommunication/07_BlockchainCommunication.md: -------------------------------------------------------------------------------- 1 | # Blockchain Communication 2 | To maintain a healthy peer-to-peer network like those empowered by distributed Blockchains, it is important to have a secure and fault tolerant network communication implementation. 3 | 4 | On a broad level, there can be many different kinds of users interfacing with the network; some will do so via third-parties and won't have direct access to peer-to-peer communication, while others will actively participate in various network tasks - like transaction and block propagation or general validation. Therefore, many peers will be required to be connected through internet ports and utilize clearly defined protocols to execute necessary tasks. 5 | 6 | The principal function of a third-party client is often to manage a user's account actions. This requires the service employed by the user to have access to an updated version of the Blockchain to promote reliable operability. For example, if a web form is used on the third-party client to create a transaction, that client then becomes responsible of sharing this transaction with other peers - typically by forwarding it to its Blockchain peer server(s) - for it to be added to a block and validated. 7 | 8 | Once a transaction is created and propagated, the consensus mechanism used determines the further steps that should be taken to properly follow the network (Blockchain) protocol. There are many variations for creating blocks and some implementations even disregard blocks entirely by using transactions themselves as the validated bases for the ledger. 9 | 10 | In a more centralized ledger, where the validation process is executed by a smaller proportion of peers, the transaction must initially be routed efficiently to the responsible nodes. Sometimes there is a delegated node that a particular peer is required to share transactions they encounter with. In a decentralized structure, the speed at which a transaction has a chance of being validated (added to a block and further confirmed with future blocks in the sequence) is dependent on its availability to validating peers like miners. 11 | 12 | In any case, the initial transaction data is shared through peer-to-peer protocols to the nodes responsible of validation and block creation, then the block goes through the same peer-to-peer protocol to be propagated as the newest one in the Blockchain and confirmed to be valid by other peers' acceptance of it. 13 | 14 | The number of steps often varies and there can be many sub-groups of confirmation queries executed between peers, validating peers, clients and users to complete the cycles required to appropriately use the Blockchain. 15 | 16 | In short, the communication necessary in Blockchain networks is handled by many levels of networking layers which are each tailored to a specific need. This enables developers and users to interact with familiar interfaces and reduces learning overhead. The actual underlying data exchanges in Blockchain communication vary depending on the particular intricacies of the given Blockchain. 17 | 18 | ---------------- 19 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/27_FirstSteps/27_FirstSteps.md: -------------------------------------------------------------------------------- 1 | # Using the ARK CLI Client 2 | ![ARKCLIENT2](./assets/img/ARK_CLI_HEADER.png) 3 | 4 | 5 | Some users may wish to interact with the ARK blockchain directly and not through the desktop or mobile client. 6 | 7 | 8 | The Ark-client is available for users running windows, Linux, Ubuntu and apple operating systems. Raspberry Pi users can also run the client by installing a qemu emulator and downloading the debian version. Links can be found below. 9 | 10 | ## Requirements 11 | 12 | Before running the client you will need to install the following two programs. 13 | 14 | **Node Package Manager (NPM)** 15 | 16 | You will need to download and install NPM prior to installing and running the ARK client. 17 | 18 | ![ARKCLIENT2](./assets/img/ARKCLIENT2.png) 19 | 20 | 21 | Download [Node.js](http://www.nodjs.org) through this link 22 | 23 | 24 | **Windows PowerShell (PS)** 25 | 26 | 27 | PowerShell is in short an command line tool that allows you to work with the ARK client. If you are using windows, click **START** and type "PowerShell" and the icon will appear. Click on the PowerShell Icon. 28 | 29 | ![ARKCLIENT2](./assets/img/ARKCLIENT1A.png) 30 | 31 | 32 | If you are using Linux, Ubuntu, Raspbian or Apple operating systems PowerShell is available for download. Follow instructions in installation wizard for your operating system. Only download from trusted sources. 33 | 34 | [PowerShell for Linux](https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-powershell-core-on-linux?view=powershell-6) 35 | 36 | [PowerShell for Ubuntu](https://gist.github.com/supermamon/853442a06d13de088c4a43153facecf9) 37 | 38 | [PowerShell for Apple](https://docs.microsoft.com/en-us/powershell/azure/install-azurermps-maclinux?view=azurermps-6.0.0) 39 | 40 | [PowerShell for Raspbian](https://blogs.technet.microsoft.com/stefan_stranger/2017/12/28/running-powershell-core-on-raspberry-pi-2/) 41 | 42 | 43 | ## ARK-CLIENT 44 | 45 | Now that you have downloaded Node Package Manager and PowerShell you can download and run the [ark-client](http://www.github.com/). 46 | 47 | In PowerShell you will copy/past the command: *npm install -g arkecosystem/ark-client#master* 48 | 49 | 50 | ![ARKCLIENT2](./assets/img/ARKCLIENT4.png) 51 | 52 | 53 | Once you have executed this command you will be able to launch the program by typing *ark-client* 54 | 55 | 56 | ![ARKCLIENT2](./assets/img/ARKCLIENT3.png) 57 | 58 | 59 | 60 | 61 | 62 | ## ARK CLIENT COMMANDS 63 | 64 | ![ARKCLIENT2](./assets/img/ARKCLIENT7A.png) 65 | 66 | 67 | 68 | 69 | You are now operating within the ark-client and can interact with it by using the list of commands available. 70 | 71 | to use these commands fill in appropriate information within the area <> to properly execute them. 72 | 73 | 74 | **help** 75 | 76 | Provides help for a given command 77 | 78 | **exit** 79 | 80 | Exits the arkclient application 81 | 82 | **connect < network >** 83 | 84 | Connect to devnet or mainnet network 85 | 86 | Example "connect < mainnet >" 87 | 88 | **connect node < url >** 89 | 90 | Connect to a server. 91 | Example "connect node 5.39.9.251:4000" 92 | 93 | **disconnect** 94 | 95 | Disconnect from server or network 96 | 97 | **network stats** 98 | 99 | Get status from network 100 | 101 | **account status < address >** 102 | 103 | Get account status 104 | 105 | **account vote < name >** 106 | 107 | Votes for delegate < name >. Removes previous vote if applicable 108 | 109 | **account unvote** 110 | 111 | Removes previous vote 112 | 113 | **account send < amount > < recipient >** 114 | 115 | Sends < amount > of ARK to < recipient >. Formats allowed are "10" to denominate 10 ARK or "USD10" or "EUR10" to send (based on network USD/EURO value) $10 in USD/EURO value of ARK to
116 | 117 | **account delegate < username >** 118 | 119 | Register a new delegate with < username > 120 | 121 | **account create** 122 | 123 | Generates new random cold account 124 | 125 | **account vanity < string >** 126 | 127 | Generate an address containing lowercased < string >, however you could encounter long wait times for this to process. 128 | 129 | **message sign < message >** 130 | 131 | Sign a message 132 | 133 | **message verify < message > < publickey >** 134 | 135 | Verify the < message > signed by the owner of a the < publickey > 136 | 137 | **shARK** 138 | 139 | Don't use this command. 140 | 141 | 142 | Before you can interact with the ARK blockchain you will need to connect to the network. It is recommended that you FIRST connect to the Devnet which is a clone of the ARK mainnet. This allows you to test and fail without real world consequences vis a vis your wallet holdings, etc. 143 | 144 | Enter the command *connect devnet* 145 | 146 | ![ARKCLIENT2](./assets/img/ARKCLIENT8.png) 147 | 148 | 149 | 150 | 151 | Now enter command *account create* to create a new devnet account 152 | 153 | ![ARKCLIENT2](./assets/img/ARKCLIENT5.png) 154 | 155 | It is vitally important that you write down BOTH your passphrase and address so that you can continue to access your devnet account in the future. Remember there are NO RECOVERY SERVICES. 156 | 157 | You will also need to deposit into your devnet wallet, which is the native currency on the devnet to distinguish it from ARK that resides on the mainnet. 158 | 159 | If you need DARK head over to the [ArkEcosystem on Slack](http://www.ark.io/contact) and request access to the ArkEcosystem channel at the bottom of the page of the link provided 160 | 161 | Once you are given access to the Slack channel you can request DARK from one of the admins by providing them your DARK address. If you have any further questions regarding how to use the arkclient contact the very helpful and friendly peopel in the ARK community via the 162 | [ARK.io FORUM](https://forum.ark.io/) 163 | 164 | ---------------- 165 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/04_WhatIsARKAddress/04_WhatIsARKAddress.md: -------------------------------------------------------------------------------- 1 | # What is ARK address? 2 | 3 | ## Foreword 4 | 5 | **Cryptography behind blockchain technology** 6 | 7 | Public-key or asymmetric cryptography, is an encryption scheme that uses a public key and a private key. The public key is used to encrypt and the private key is used to decrypt. 8 | 9 | A blockchain account is defined by its address that is derived from a public key. It allows everyone to verify that data is signed by the corresponding private key. This signature acts as proof of ownership. 10 | 11 | It is impossible to compute the private key from the public key. Because of this, public keys can be freely shared, allowing users an easy and convenient method for encrypting content and verifying digital signatures, and private keys can be kept secret, ensuring only the owners of the private keys can decrypt content and create digital signatures [1]. 12 | 13 | ARK uses the [SECP256k1](https://en.bitcoin.it/wiki/Secp256k1) curve from the [elliptic curve digital signature algorithm](https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm) (ECDSA). 14 | 15 | ECDSA generates the private key and the public key pair from a unique 32-bytes-size seed. As the seeds are not very human readable, we have the option to generate the seed from something more convenient : a passphrase. 16 | 17 | The passphrase is a written in simple readable text. It often consists of twelve words according to the [Bitcoin Improvement Protocol #39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) (BIP39). The usage of the protocol is not mandatory as a seed can be generated from any kind text, but is recommended. A passphrase needs enough complexity and has to be random enough in order to be considered secure. 18 | 19 | **From a passphrase to private and public keys** 20 | 21 | ![Diagram 001](./assets/img/arkDiagram04-001.png) 22 | 23 | ## ARK address 24 | 25 | |passphrase |`simple secret` | 26 | |-----------|--------------------------------------------------------------------| 27 | |seed |`b6af972cfcff450addadfecccc1d222de0f28c92c349a6bcbba4d4267dd3199c` | 28 | |public key |`036f9f2b56926a8c28c3bcef02811b6b3338c4d67b06eb7a9e90bda0fb3eacedee`| 29 | |private key|`9b449f2ac4525b0116c7a78ce52387aab2ad6d928749cd26e60f2588efc5c01d` | 30 | |address |`AJZkkwhCjDG5AS9gZcNfKzTa3s1qwvD44r` | 31 | 32 | A blockchain is a distributed database where records are stored according to a consensus mechanism (secure protocol) executed by a network of nodes (Peer-To-Peer network). The unitary element used in this process is an account to account transaction containing information such as `senderId`, `recipientId`, `amount` and `fee`. A sender and recipient account needs to be identifiable. This is enabled by using an address and information related to token balance and transaction history are linked to it. 33 | 34 | The ARK address is like a bank account where only the owner of the private key can validate and broadcast transactions. It is very important to keep the passphrase safe. 35 | 36 | **From a public key to an ARK address** 37 | 38 | ![Diagram 002](./assets/img/arkDiagram04-002.png) 39 | 40 | A modifier is a byte used to customize the address. It is useful to differentiate networks : 41 | + On ARK mainnet modifier = `0x17` so ARK address starts with `A` 42 | + On ARK devnet modifier = `0x1e` so DARK address starts with `D` 43 | + On KAPU mainnet modifier = `0x2d` so KAPU address starts with `K` 44 | 45 | Here is the table giving the address start char according to hexadecimal modifier value : 46 | 47 | |hex|start char|hex|start char|hex|start char|hex|start char|hex|start char| 48 | |:-:|:--------:|:-:|:--------:|:-:|:--------:|:-:|:--------:|:-:|:--------:| 49 | |00 |1 |10 |7 |20 |D or E |30 |L |40 |S or T | 50 | |01 |Q or o |11 |7 or 8 |21 |E |31 |L or M |41 |T | 51 | |02 |o or 2 |12 |8 |22 |E or F |32 |M |42 |T | 52 | |03 |2 |13 |8 or 9 |23 |F |33 |M |43 |T or U | 53 | |04 |2 or 3 |14 |9 |24 |F |34 |M or N |44 |U | 54 | |05 |3 |15 |9 |25 |F or G |35 |N |45 |U or V | 55 | |06 |3 |16 |9 or A |26 |G |36 |N or P |46 |V | 56 | |07 |3 or 4 |17 |A |27 |G or H |37 |P |47 |V | 57 | |08 |4 |18 |A or B |28 |H |38 |P |48 |V or W | 58 | |09 |4 or 5 |19 |B |29 |H |39 |P or Q |49 |W | 59 | |0a |5 |1a |B |2a |H or J |3a |Q |4a |W or X | 60 | |0b |5 |1b |B or C |2b |J |3b |Q or R |4b |X | 61 | |0c |5 or 6 |1c |C |2c |J or K |3c |R |4c |X | 62 | |0d |6 |1d |C or D |2d |K |3d |R |4d |X or Y | 63 | |0e |6 or 7 |1e |D |2e |K |3e |R or S |4e |Y | 64 | |0f |7 |1f |D |2f |K or L |3f |S |4f |Y or Z | 65 | 66 | |hex|start char|hex|start char|hex|start char|hex|start char|hex |start char| 67 | |:-:|:--------:|:-:|:--------:|:-:|:--------:|:-:|:--------:|:----:|:--------:| 68 | |50 |Z |60 |f or g |70 |n |80 |t |90 |z or 2 | 69 | |51 |Z |61 |g |71 |n |81 |t or u |≥91|2 | 70 | |52 |Z or a |62 |g |72 |n or o |82 |u | 71 | |53 |a |63 |g or h |73 |o |83 |u or v | 72 | |54 |a or b |64 |h |74 |o or p |84 |v | 73 | |55 |b |65 |h or i |75 |p |85 |v | 74 | |56 |b or c |66 |i |76 |p |86 |v or w | 75 | |57 |c |67 |i |77 |p or q |87 |w | 76 | |58 |c |68 |i or j |78 |q |88 |w or x | 77 | |59 |c or d |69 |j |79 |q or r |89 |x | 78 | |5a |d |6a |j or k |7a |r |8a |x | 79 | |5b |d or e |6b |k |7b |r |8b |x or y | 80 | |5c |e |6c |k |7c |r or s |8c |y | 81 | |5d |e |6d |k or m |7d |s |8d |y or z | 82 | |5e |e or f |6e |m |7e |s or t |8e |z | 83 | |5f |f |6f |m or n |7f |t |8f |z | 84 | 85 | ## Ledger Nano S 86 | 87 | The best way to secure ARK address is to use a device that can sign transactions off the network. ARK team developed an application running on [Ledger Nano S](https://www.ledgerwallet.com/products/ledger-nano-s) hardware wallet allowing such a security. 88 | 89 | The Ledger Nano S device does not store tokens. It is a device that generates public and private keys from a master seed. Keys are issued from the seed using the derivation path. For Ark blockchain (and cloned ones) the derivation path is structured like this : 90 | 91 | `44'\111'\'\0\
` 92 | 93 | So the derivation path of address #1 from account #1 is : 94 | 95 | `44'\111'\0'\0\0` 96 | 97 | [Read more about HD wallets](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) 98 | 99 | ### BIP39 account possibilities 100 | 101 | Choosing 12 words randomly from the [2048 words](https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md) available in BIP39 list gives : 102 | 103 | 104 | 105 | **5 271 537 971 301 488 476 000 309 317 528 200 000 000 combinations** 106 | 107 | #### References 108 | 1. WebSite GlobalSign, https://www.globalsign.com/en/ssl-information-center/what-is-public-key-cryptography/ 109 | 110 | ---------------- 111 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/11_ARKMobileApp/11_ARKMobileApp.md: -------------------------------------------------------------------------------- 1 | # Welcome Aboard! 2 | 3 | ## The Preparation 4 | 5 | The Ark Mobile Wallet is a great way to access your ARK tokens, it's fast and easy and while being mobile, it can securely store the data using PBKDF2 algorithm and AES-256 encryption protected by a created PIN code. This guide will show you where to get the mobile wallet on Android and iOS devices and help you with installing it! The mobile wallet has no need to download the blockchain, but can vote for a delegate, and send/receive ARK. Whether you're importing a wallet or generating a new one the wallet will have all the features you need. 6 | 7 | Before we begin, we're going to need to download the mobile wallet. If you have an Android device you can download the mobile wallet [here!](https://play.google.com/store/apps/details?id=io.ark.wallet.mobile&hl=en_US) 8 | 9 | wNow for iOS devices, you will need to download Cydia Impactor and the .ipa file of the wallet. Cydia Impactor can be used to install IPA files on iOS devices. Your device doesn't need to be jailbroken to use this application. We can download the application this way until Apple approves of the iOS version of the mobile wallet. Here we can find the latest version for [Mac OS X](https://cydia.saurik.com/api/latest/1), [Windows](https://cydia.saurik.com/api/latest/2), [Linux 32-bit](https://cydia.saurik.com/api/latest/4) [here!](http://www.cydiaimpactor.com/), or [Linux 64-bit](https://cydia.saurik.com/api/latest/5). 10 | 11 | We can download the .ipa [here!](https://github.com/vmunich/ark-mobile/blob/master/Ark%20Mobile%201.1%202018-04-09%2011-10-58.ipa) Once we have downloaded the Impactor, make sure the iOS device is recognized by your computer. **If you're on OS X**, open the Cydia Impactor Download and you can double click on Impactor. **If you're on Windows**, extract the zip folder and run the application in the folder that is created. 12 | 13 | Once Cydia Impactor opens it should show your iOS device, if it doesn't make sure the device is plugged in and the screen is unlocked. Once it loads you will want to click **Device -> Install Package**. 14 | ![Image of Impactor](./assets/img/impactor.png) 15 | 16 | Find and choose the Ark Mobile .ipa file we downloaded earlier. Impactor will prompt you to type in your Apple ID and password so it may install the application. If you have 2 Factor Authentication enabled, you are going to need to login [here](https://appleid.apple.com/#!&page=signin). Navigate to the Security section so you may create an app-specific password. Once the password has been generated, use it on Impactor to install the wallet on your device. Impactor will now install the application. 17 | 18 | ## Starting the Ark Wallet 19 | 20 | Once you load the application you will be met with this screen: 21 | 22 | ![Image of Ark Welcome Screen](./assets/img/arkWallet.PNG) 23 | 24 | You may skip the introduction or continue by hitting Next on the bottom right hand corner of your screen. If you hit Next, you will see the following screens: 25 | 26 | ![Second image of Ark Welcome Screen](./assets/img/arkWallet2.PNG) ![Third image of Ark Welcome Screen](./assets/img/arkWallet3.PNG) 27 | 28 | When we've either skipped or proceeded, you will be asked to create your profile: 29 | 30 | ![Create a Profile on Ark Mobile](./assets/img/arkWallet4.PNG) 31 | 32 | After you hit the '*Create A Profile*' button, you will be asked to create a 6 digit PIN and then confirm the PIN. 33 | **You will need to remember this PIN**. 34 | 35 | ![Create a Pin on Ark Mobile](./assets/img/arkWallet5.PNG) 36 | 37 | You will be asked to create a name for your profile. You can create one for the Mainnet or the Devnet, which is the Development Network. For this guide we will be on the Mainnet. 38 | 39 | ![Create a Name on Ark Mobile](./assets/img/arkWallet6.PNG) 40 | 41 | Once you've placed your name, you can sign in by touching onto the profile you created and by entering in the PIN you created earlier. From here, you can follow the prompts and click on the button that's displayed on the screen to import or create a wallet. If you are importing a wallet, click [here](#importWallet). If you are creating a new wallet, continue reading. 42 | 43 | ## Creating a wallet 44 | 45 | If you choose to generate a wallet and follow the prompts you will be shown your shareable Public Address and your Secret Passphrase. **Keep your secret passphrase safe and secure**, without it you will not be able to restore your wallet, send transactions, and you will **lose all of your ARK tokens**. 46 | 47 | After hitting '*Next*', you will be asked to input 3 of the words in your Secret Passphrase. Once you've placed the appropriate numbered word into its field, you will be asked to put in your PIN again. The next screen will show you the amount of ARK tokens you have in your wallets, your shareable Public Address, the Market Value of ARK in USD, Satoshi's, and the 24 hour Change. 48 | 49 | ![Ark Mobile Wallet Passphrase](./assets/img/arkWallet8.PNG) ![Ark Mobile Wallet Balance](./assets/img/arkWallet9.PNG) 50 | 51 | ## Importing a wallet 52 | 53 | If you choose to import a wallet and follow the prompts, you will have two options to import your wallet: QR Code or by putting in your secret passphrase or address manually. 54 | **If you decide to copy and paste your information into the app, make sure your device does not add a space after your passphrase or address. If the space is there, it will create a new wallet and not import your own wallet**. 55 | 56 | The application may place you on a screen that shows your transactions, your public address and the amount of ARK tokens in your wallet. 57 | 58 | ![Ark Mobile Wallet Transactions](./assets/img/arkWallet10.PNG) 59 | 60 | ## The Ark Wallet 61 | 62 | You are able to hit the triple bar in the top left corner, doing so will give you numerous options for you to select. Choosing *'Wallets'*, will place you at the main Ark Wallet balance screen. After you reach the main Ark Wallet balance screen, you are able to add another wallet, touch the triple bar on the top left corner, or choose an existing wallet to view even closer. 63 | If you want to add another wallet, you would push the blue circle we used earlier to create or import a wallet. 64 | If you hit the triple bar on the top left corner, you get numerous options where you are able to view and select: 65 | - Main wallet balance screen 66 | - Vote for delegates 67 | - Change the peer to the network 68 | - Enter the settings, where you may change or view your: 69 | - Language 70 | - Currency 71 | - PIN 72 | - Clear your Data 73 | - Privacy Policy 74 | - Version Number 75 | - Contacts 76 | - You are able to save contacts by name and Ark Address for quicker sending/receiving 77 | - Sign Out 78 | 79 | ![Ark Mobile Wallet Triple Bar](./assets/img/arkWallet13.PNG) ![Ark Mobile Wallet Settings](./assets/img/arkWallet12.PNG) 80 | 81 | If you want to view an existing wallet and the transaction history, you will need to touch the rectangle(s) right below the 'Total Balance' text. 82 | 83 | ![Ark Mobile Wallet Balance](./assets/img/arkWallet14.PNG) 84 | 85 | Once inside a wallet, you are able to view incoming and receiving transaction history, the public address, the Ark wallet balance and by touching the vertical ellipsis you are able to: 86 | - Register a Delegate 87 | - Vote for a Delegate 88 | - Rename your wallet 89 | - Backup your Wallet 90 | - Delete your wallet 91 | 92 | ![Ark Mobile Wallet Subsettings](./assets/img/arkWallet15.PNG) 93 | 94 | ## Voting 95 | 96 | To begin voting, we need ARK in our wallets. Once you've transferred ARK to your wallet, you will want to click on the wallet that was either imported or generated. 97 | 98 | ![Ark Mobile Wallet Balance](./assets/img/arkWallet14.PNG) 99 | 100 | Once the wallet has been selected, hit the triple bar and choose *'Delegates'*. This will show you the top 51 Active Delegates and the delegates on Standby 101 | 102 | ![Ark Mobile Wallet Balance](./assets/img/arkWallet16.PNG) ![Ark Mobile Wallet Balance](./assets/img/arkWallet17.PNG) 103 | 104 | Choosing a Delegate will prompt you to vote for 1 ARK. 105 | 106 | ![Ark Mobile Wallet Balance](./assets/img/arkWallet18.PNG) 107 | 108 | If you have any questions regarding how much you will receive from voting for a delegate, you can find that [here](http://calculator.reconnico.com/). 109 | 110 | ## Conclusion 111 | 112 | Your Ark Mobile Wallet is now ready for use! That's all it takes to install the Ark wallet. If you have any questions regarding voting and delegates, take a look at Ark's [FAQ](https://blog.ark.io/ark-frequently-asked-questions-faq-bcb90a0537cc)! 113 | 114 | ---------------- 115 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/15_SetupARKNode/15_SetupARKNode.md: -------------------------------------------------------------------------------- 1 | # How to Setup an Ark Node 2 | Welcome, the purpose of this document is to help you setup a full ARK relay or delegate 3 | node. This will guide you step by step and get you up and running relaying transactions 4 | and securing the Ark Network. 5 | 6 | ## Minimum Requirements 7 | **NOT SUITABLE FOR USE AS A DELEGATE NODE** 8 | - 1 Dedicated CPU Core 9 | - 4GB Ram 10 | - Linux 11 | - 20GB Free HD Space 12 | 13 | ## Recommended Specifications 14 | - 2 CPU Cores+ 15 | - 8GB Ram+ 16 | - Ubuntu 16.04 17 | - 40GB+ SSD 18 | 19 | ## Prerequisite Setup 20 | ### Create a Linux Server 21 | We recommend using the cloud provider you are most comfortable with. Running an Ark Node 22 | is not like Bitcoin mining and thus there are more options to choose from. 23 | AWS, Linode, Digital Ocean, Vultr, Microsoft Azure, and OVH are just a few 24 | recommended choices. 25 | 26 | When choosing the size of VM please consider using a higher quality 27 | server when running a delegate nodes. These nodes are the security of our network 28 | and their uptime is of most importance in making sure the network runs smoothly. 29 | 30 | The recommended specifications are what we would consider the minimum specifications 31 | for delegate nodes. Smaller nodes are fine for relays or development purposes. We recommend using Ubuntu 16.04 however you are free to use any version of Linux you're comfortable with. These guides will use debian flavored Linux variants though. 32 | 33 | With each provider, the setup process for creating a new virtual server is going to 34 | be different. If choosing one of the listed providers, we have created quick 35 | links below to quickly get started. 36 | 37 | - [Linode](https://www.linode.com/docs/getting-started/#provision-your-linode) 38 | - [Digital Ocean](https://www.digitalocean.com/community/tutorials/how-to-create-your-first-digitalocean-droplet) 39 | - [AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html) 40 | - [Vultr](https://www.vultr.com/) 41 | - [Microsoft Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/overview) 42 | - [OVH](https://support.ovhcloud.com/hc/en-us/articles/115001520890-Getting-Started-with-Servers) 43 | 44 | ### Connect to Your Server 45 | After creating a server we need to connect to it. Your provider should have given you an 46 | `ip address`, `username`, and `password` to connect to your new server. 47 | 48 | This information can usually be found somewhere in your providers dashboard for your 49 | new server. 50 | 51 | ![ssh information](./assets/img/ssh_information.png) 52 | 53 | Depending on your operating system you will connect to your server in different ways. 54 | Window users will want to use something like [PuTTy](https://putty.org/). 55 | 56 | #### Windows Users 57 | Open PuTTy and place the `ip address` given to you by your provider in the 58 | `Host Name` field as shown below. You should probably save this host so you don't 59 | have to enter it every time. 60 | 61 | ![PuTTy Login](./assets/img/puTTy_login.jpeg) 62 | 63 | #### MacOS / Linux 64 | Open up a new terminal window and type in the following to connect to your new 65 | server via `SSH` 66 | 67 | ```bash 68 | ssh user@ipaddress 69 | ``` 70 | 71 | When first connecting to your new server you will be asked to cache the servers 72 | host key and validate the rsa fingerprint, say or click yes. 73 | 74 | ![ssh information](./assets/img/ssh_fingerprint.png) 75 | 76 | When prompted use the password given to you by your cloud provider. Some providers 77 | will require you to setup a a root password when creating the VM, while others may 78 | give you a temporary password. 79 | 80 | ![root_login](./assets/img/root_login.png) 81 | 82 | ### Setup a User 83 | Loging into our node and leaving root access open is not good security so we're going 84 | to take care of that now. 85 | 86 | On your server type the following into the command line and press enter. Where `username` is the name you want to login with: 87 | 88 | ``` 89 | adduser username 90 | ``` 91 | 92 | You will be prompted to enter in the users `full name` and some other information. 93 | Feel free to just leave them all blank as they are optional. When prompted type `Y` and press enter. 94 | 95 | ![add_user](./assets/img/add_user.png) 96 | 97 | ### Giving our User Sudo Privileges 98 | 99 | Next we need to make sure that our user can do all the things it needs to do. Type 100 | the command below into your command line and press enter. Where `username` is the 101 | name of the new account you created. This will give our user `sudo` privileges. 102 | 103 | This will allow you to run programs with the security privileges of another user. 104 | By default this is a `superuser`. 105 | 106 | ``` 107 | usermod -a -G sudo username 108 | ``` 109 | 110 | ## Installing your ARK Node 111 | We're now ready to begin installing ARK. The initial install may take awhile 112 | and at times appear to not be doing anything. Please have patience and let the process 113 | finish. 114 | 115 | ### Switch to the ARK user 116 | While installing ARK, we should use the ARK user that we created above. To switch to it, run 117 | 118 | ``` 119 | sudo su - ark 120 | ``` 121 | ### Download ARK Commander 122 | 123 | ``` 124 | wget https://ark.io/ARKcommander.sh 125 | ``` 126 | 127 | ### Make ARK Commander Executable 128 | Next we need to make the file we just downloaded executable by our user. 129 | ``` 130 | chmod +x ARKcommander.sh 131 | ``` 132 | 133 | ### Run ARK Commander 134 | Now we'll run the file we just downloaded and begin our ARK Node installation. 135 | ``` 136 | ./ARKcommander.sh 137 | ``` 138 | #### Sudo Password 139 | ARK Commander is then going to ask you for your `sudo` password. This is 140 | the password you used to login to the user account with. Enter your password 141 | and press enter. 142 | 143 | ![ark_commander_login](./assets/img/ark_commander_login.png) 144 | 145 | #### System Updates and Prerequisites 146 | The first time you run ARK Commander it is going to update your system and make sure 147 | you have the latest updates to required dependencies. 148 | 149 | ![ark_commander_login](./assets/img/update_ark_commander.png) 150 | 151 | ![prerequisites](./assets/img/prerequisites.png) 152 | 153 | #### Reboot System 154 | Once updates and prerequisites installation has finished reboot your system by 155 | typing the following command and pressing enter. 156 | 157 | ![reboot warning](./assets/img/reboot_warning.png) 158 | 159 | ``` 160 | sudo reboot 161 | ``` 162 | 163 | You will be disconnected from your server once again. Let's go ahead and reconnect 164 | using our user we created. 165 | 166 | ``` 167 | ssh ark@ipaddress 168 | ``` 169 | 170 | 171 | ### Run ARK Commander 172 | After reconnecting to the server go ahead and run ARK Commander 173 | ``` 174 | ./ARKcommander.sh 175 | ``` 176 | 177 | ### Install ARK Node 178 | Select option `1` to install ARK Node. Again, don't interrupt this process as it 179 | will take a few minutes to install the required packages. 180 | 181 | ![ark node installation](./assets/img/install_ark_node.png) 182 | 183 | ### Setting up a Delegate Node 184 | After ARK Node installs you will be asked if you want to setup your secret key. 185 | If you're just setting up a relay node, or not ready to setup your delegate node 186 | at this time select `N`. Otherwise select `Y` and enter your delegate node secret 187 | key now. 188 | 189 | ![setup secret](./assets/img/setup_secret.png) 190 | 191 | ### Restoring your Database from a Snapshot 192 | Letting the ARK blockchain download from peers can take a long time. We have 193 | the ability to download a snapshot of the blockchain and import it right into our 194 | database. Let's go ahead and do that now. 195 | 196 | Select option `4` from the menu and press enter. When asked if you would like to 197 | download the latest snapshot select `Y` and press enter. 198 | 199 | ![snapshot](./assets/img/snapshot.png) 200 | 201 | Once the download finishes you will be asked if you would like to restore from 202 | this snapshot. Select `Y` and press enter. If everything goes as planned you should 203 | see the following once the restoration is complete. Press enter and return to the main menu. 204 | 205 | ![snapshot restored](./assets/img/snapshot_restored.png) 206 | 207 | ### Checking to See if Everything is Working 208 | If everything went as planned we should now be able to choose the `L` option 209 | from the menu and see the transmission of block data across our node. 210 | 211 | If you see `New block received` in your log congratulations, you now have a working 212 | ARK node. If not, you may need to wait a couple minutes as the last few blocks sync that 213 | were not in the latest snapshot. 214 | 215 | If you need to go back and setup your delegate node you can do so by using option 216 | `5` in the Main Menu. 217 | 218 | ## What's Next? 219 | Great! you have a working node, but now you should really think about securing it. 220 | It is especially important if you plan on using this as your delegate node. 221 | 222 | In our next section we'll discuss making sure your ARK node is as secure as possible. 223 | As the ARK network grows, hacking attempts on delegate and relay nodes will become 224 | more prevalent. Defending against DDOS and other various attacks is extremely 225 | important in securing the network. 226 | 227 | ---------------- 228 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/08_Transactions/08_Transactions.md: -------------------------------------------------------------------------------- 1 | # Transactions & Blocks: How do they work on the ARK network? 2 | 3 | 4 | To understand this concept better lets go over a brief explanation of transaction and blocks inside a general blockchain transaction and afterwards we will go over exactly how these function on the ARK network. 5 | 6 | A **transaction** is nothing more than the transfer of data from a sender to a receiver through the blockchain network that they are using. A basic cryptocurrency blockchain **transaction** usually includes information such as... 7 | 8 | * Value sent (asset price) 9 | * Ownership information: Who owned this piece of data being sent and who is it going to 10 | * Timestamp of transaction 11 | * Transaction Identification Number 12 | 13 | Transaction’s will also reference prior outputs (when it was received by the current sender as an output) to create a new input (showing that data being sent WAS received and validly held by current sender). 14 | 15 | Let’s look over an ARK network transaction step by step so you can see how it works 16 | 17 | ![Transactions 1](./assets/img/Transactions_01.png) 18 | 19 | Dustin owned 50 ARK and yesterday Jim sent Dustin 100 ARK. Dustin now has a balance of 150 ARK in his wallet. 20 | 21 | Today Dustin decided to send Cassandra her first 100 ARK. Dustin will now go into his wallet to initiate the transaction by inputting Cassandra's Public Key (address), Amount of ARK to send (100) and pressing Send. When he presses send he will have to input his Private Key, which is like a password, and confirms the transaction. 22 | 23 | ![Transactions 3](./assets/img/Transactions_03.png) 24 | 25 | Inside this transaction is a reference to a prior output (Jim sending the 100 ARK) in the input (The 100 ARK being sent to Cassandra) so that the network can verify Dustin has the ARK in his wallet necessary to complete the transaction. 26 | 27 | ![Transactions 4](./assets/img/Transactions_04.png) 28 | 29 | Once the transaction is sent from Dustin's wallet it is broadcast to the network and the **nodes** on the network will help to verify that transaction. This transaction will now be listed on the network and interfaces with the network as "unconfirmed" or "pending". This basically means that the transaction has not been included in a block of transactions, verified and included in the ARK blockchain by a "forging delegate". 30 | 31 | ![Transactions 5](./assets/img/Transactions_05.png) 32 | 33 | For ease of understanding from now forward in this example, just consider "nodes" and "forging delegates" as verifiers on the ARK network. If you are interested in learning more about **nodes** consult our section on [Peers and Nodes, what are they and what is their role in the network?](http://www.ark.io/) and for delegates, [What is DPOS and how it relates to other consensus mechanisms](http://www.ark.io/). 34 | 35 | ![Transactions 6](./assets/img/Transactions_06.png) 36 | 37 | A node on the network will check the inputs/outputs of the transaction and verify that Dustin has the ARK necessary to send the 100 ARK plus the transaction fee (more on fees at the end of the section). once that Node has verified Dustin's transaction as legitimate it signals that determination to the rest of the network. 38 | 39 | ![Transactions 7](./assets/img/Transactions_07.png) 40 | 41 | Once consensus (majority) has been reached that Dustin's transaction is valid, it is sent to the nearest forging delegate to be included in the next **block** on the ARK blockchain. As described above Forging Delegates are special actors in the network who combine transactions into **blocks** and verify them, writing them permanently into the ARK blockchain on behalf of the network. Forging delegates are elected via community vote with the delegates who have the 51 highest vote counts given rights as "forging delegates". 42 | 43 | ![Transactions 8](./assets/img/Transactions_08.png) 44 | 45 | The delegate who receives it waits in the que for their turn to forge the next block and once it is their turn, Dustin's transaction, along with any other "unconfirmed" transactions are bundled together and are "forged" into the next block. Once this block is confirmed as valid by the other delegates/nodes it is written permanently into the ARK blockchain. Now that this transaction has been included in a forged block it "can" be considered a "Confirmed" transaction. I say "can" because merchants and exchanges can set thresholds before they will accept a transaction as "confirmed", i.e. 6 confirmations vs 1, etc. 46 | 47 | This may sound like a long and complicated process, but in fact it takes **ONLY 8 SECONDS** on the ARK network. 48 | 49 | 50 | 51 | **RECAP** 52 | 53 | ![Transactions 9](./assets/img/Transactions_09.png) 54 | 55 | 56 | **Transactions** are the sending of data (value) over a network from one individual to another, these transactions are verified by "nodes" on the network and bundled together into **blocks** that are verified by "forging delegates" and permanently written into the ARK blockchain. 57 | 58 | 59 | 60 | ## FEES FOR TRANSACTIONS 61 | 62 | There are various fees for different types of transactions on the ARK network that are listed below. 63 | 64 | The ARK network currently charges the following fees, however they will be lowered after next Core update. 65 | 66 | **Vote** 67 | 68 | Fee: 1 ARK 69 | 70 | To stake your wallet and vote for a delegate will cost you 1 ARK. If you decided to vote for a different delegate you will need to unvote and vote again for a new delegate, each of these transactions will cost 1 ARK. So if spent 1 ARK to vote for delegate A yesterday and today you decide to vote for delegate B the unvoting of delegate A will cost 1 ARK along with another 1 ARK to vote for delegate B. 71 | 72 | **Transactions** 73 | 74 | Fee: 0.1 ARK 75 | 76 | This includes all normal transactions on the network such as send ARK from one wallet to another, on and off exchanges, etc. For other transactions such as using ARK Contract Execution Nodes (ACES) nodes, those fees will be dictated by the ACES node you are connected to. For more information on what ACES nodes are and how they bridge functionality between ARK and Ethereum refer to our blog post on them [ACES Nodes](http://www.blog.ark.io/aces-ark-contract-excution-services-d6924486b8c5) 77 | 78 | **Register 2nd Passphrase** 79 | 80 | Fee: 5 ARK 81 | 82 | When you set up your ARK wallet you will be prompted to write down a 12 word mnemonic passphrase. This is the private key to your wallet, without which you will be unable access or move any of your funds. ARK allows for users to register for a "second" passphrase which is an additional 12-word mnemonic phrase for enhanced security of your wallet and funds. 83 | 84 | **Delegate Registration** 85 | 86 | Fee: 25 ARK 87 | 88 | Delegates are individuals who are vying for community votes to become forging delegates who confirm blocks of transactions on the ARK blockchain. Anyone is free to run as a delegate and seek votes from the community however only those who maintain the 51 highest vote counts become active forging delegates. 89 | 90 | When registering as a delegate you will choose a delegate name that is forever associated with this account. Your delegate name cannot match an already registered delegate name and be under 20 characters (only lowercase, numbers and special characters are allowed). To learn more about Delegated Proof of Stake and how it works refer to our section on [What is DPOS and how it relates to other consensus mechanisms](http://www.ark.io/) 91 | 92 | **Smartbridge Transactions** 93 | 94 | Fee: Varying 95 | 96 | Smartbridge technology is the pillar of innovation underlying the ARK network, allowing for cross blockchain transactions using ARK as the medium. Currently every blockchain is like an island city state with no way to transact or interact with each other. ARK's Smartbridge technology will allow for you to engage every blockchain or even multiple blockchain's using what are called "Encoded Listener Nodes". These nodes allow you to send ARK to them and be swapped for the other blockchain's medium of exchange such as Bitcoin or Ethereum and use that networks functionality and reach through these nodes but stay within the ARK ecosystem, making ARK a de facto hive mind of the blockchain space. Soon you will never need to leave ARK to operate and transact within ANY other blockchain. 97 | 98 | Encoded Listener Nodes (ECL) operate by containing certain amounts of the coins/tokens that the blockchain it is connected to uses. Say you wish to pay a supplier 1 ETH for services rendered via the Ethereum smart contract you have created for your business. If ARK is valued at 250 ARK per 1 Ethereum you can send 250 ARK to the ECL you have chosen, who then converts that ARK to Ethereum and sends that over the Ethereum blockchain to fulfill that smart contract and pay that employer. If that supplier realizes they overcharged you, they can also refund you .1 Ethereum and through that ECL the 25 ARK are returned to your wallet. Encoded Listener Nodes are run independently so the fees are set by the operator of that node. Very soon in the future ECL operators will run on a network that users can access, review fee structures, size limitations, history, etc. and choose which node best fits their needs. Market competition between node operators will keep fees rigorously competitive and a rough standard market rate for fees may emerge at a later date. 99 | 100 | 101 | 102 | ---------------- 103 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/28_ARKGlossary/28_ARKGlossary.md: -------------------------------------------------------------------------------- 1 | #### What is an "Account"? 2 | An account is, in most cases, a pair of private and public keys, it provides a simple addressing format for the network to track transaction senders and recipients. 3 | 4 | The private key can be replaced by a passphrase, also called a secret. The public key is derived from the private key and is translated to a more readable, shorter format called address. Many addresses can refer to the same public key. 5 | 6 | Funds are messages signed and sent from the owner of the account, with the private key or counterpart. The payment message is addressed to the account public key of the recipient through one of its derived addresses. 7 | 8 | With the use of cryptography, the data necessary to authorize an outgoing payment cannot be derived from the publicly available data, making the application secure for distributed ledgers. 9 | 10 | > AYavRHU9KSeCUSRk8Qe9ZZG2gr9sG6fNzx 11 | 12 | #### What is a "Block"? 13 | A block is a collection of transactions that holds part of the ledger history. It goes through the gathering, validating and acceptance phases. 14 | 15 | Gathering refers to peers in the network sharin newly sent transactions with each other to create a transaction pool. In some cases, there is a smaller number of peers responsible for the creating of the block, in others anyone with access to new transactions can potentially participating in creating a block. 16 | 17 | Validating, or creating, a block is the act of confirming that the transactions which amount to the block satisfy certain network requirements. This is to prevent Byzantine - malpractice or unresponsiveness - errors. 18 | 19 | It is in the best interest of the validating peer to push for blocks which don't contain malicious transactions, because the chain in which the block is contained has the potential to not be accepted by good peers and the reward for validating the block will not be granted in the prevailing version of the Blockchain. 20 | 21 | > ![Block](./assets/img/block.PNG) 22 | 23 | #### What is a "Delegate"? 24 | A delegate is a peer that is supported by other users and responsible for the gathering, validation and forging of blocks from transactions. 25 | 26 | The owners of a resource valuable to the network (identity, coins, energy) are tasked with appointing those resources to a peer they delegate to take important network actions. 27 | 28 | In a delegated Blockchain, the selected peers are in charge of most aspects in the maintenance of the ledger. The incentive to act poorly is reduced, the paid position can be lost by the delegate every delegation cycle. 29 | 30 | Every delegated peer gets a chance to participate in creating blocks either on a turn basis or for every block. 31 | 32 | > ![Delegate](./assets/img/delegate.PNG) 33 | 34 | #### What is a "Loader"? 35 | A Loader provides the synchronisation and loading information of a client. 36 | 37 | The loader's job is querying peers' blockchains to construct the history locally. It is required to ensure that a peer has relevant records of the network's transactions to enable a correct display of actualized data. The loader plays a key part in the exploration and creation of transactions in the blockchain. 38 | 39 | #### What is a "Peer"? 40 | A peer is connected to the distributed network and propagates data. 41 | 42 | Peers contribute to increasing the network speed by maintaining connections to create routes. Peers also perform basic validation checks to ensure the data they forward or receive isn't in contradiction with their version of the blockchain. A peer is functional once it has retrieved the required data to execute a task. To validate a transaction and broadcast it, a peer needs to hold the latest balance for the account. 43 | 44 | 45 | #### What is a "Node"? 46 | A node is a functional participant in the distributed network. 47 | 48 | The node's job is to ensure the readiness of the blockchain to reduce the connections needed between its peers to retrieve block or transaction information. Nodes keep track of the blockchain and are crucial in ensuring the network's cohersion. Nodes serve as servers and are connected to many other peers. 49 | 50 | #### What is a "Signature"? 51 | A signature is a cryptographic way to prove the provenance of a message or transaction. 52 | 53 | The message is input into an algorithm alongside the private key, generating a cryptographic hash that can be decoded into the original message and proven to have come from the account holder. Signatures are useful to ensure the authenticity of a spending operation's provenance. 54 | 55 | #### What is a "MultiSignature"? 56 | A multisignature is a cryptographic way to prove that a message or transaction comes from a minimum number of possible accounts. 57 | 58 | Parties add their signature to the message one by one and the underlying transaction is processed only once a specified number of signatures from the designated accounts can be confirmed. Multisignatures are separations of control over given transactions. The multisignature transactions act much like accounts do, only there are multiple keys that represent valid cosigners. 59 | 60 | #### What is a "Transaction"? 61 | The signed transfer of value from one account to another. 62 | 63 | A transaction contains the amount to send, the sender of the funds and the receiver's public address. It is a small message that is only allowed to transfer value from one account to another if it can be proven to have been signed by the private key of the sending account. 64 | 65 | > ![Transaction](./assets/img/transaction.PNG) 66 | 67 | #### What is a "Transport"? 68 | A Transport happens to data as it flows through the network from peer to peer. 69 | 70 | It is the interface that enables the formatted transfer of transactions from one peer to another. It is important to have a transport protocol that supports standardized communication between peers to reduce the overhead from converting or decyphering transaction information. 71 | 72 |
 73 |         resp = transport.post_transaction(
 74 |         "dark", # Network
 75 |         "DDvQqwqPXKd5P8dLAroFsnKR5Q3tKUtvnp", # RecipientAddress
 76 |         1000000, # Amount
 77 |         "firstPassphrase", # First passphrase, mandatory
 78 |         "vendorField", # Vendor field, optionnal
 79 |         "secondPassphrase") # Second passphrase, optionnal
 80 | 
81 | 82 | #### What is a "Dark Address"? 83 | A Dark address is on the Development Network of Ark and holds the DARK currency. 84 | 85 | Dark addresses aren't compatible with Ark addresses, as the latter are used on the Main Network of the ecosystem. The DevNet is the testing grounds, it is used to test applications wanting to run on the Ark network or upgrades to the Main Network. 86 | 87 | > DS2YQzkSCW1wbTjbfFGVPzmgUe1tNFQstN 88 | 89 | #### What is a "Reward"? 90 | A reward is attributed to the block forger for its validation efforts. 91 | 92 | A determined amount is allocated to each block and the reward takes the form of a new transaction originating from the block or from fees taken from the block's transactions. Rewards incentivise the delegated forgers to act properly, as a block rejected by peers means the delegate won't receive a payment. 93 | 94 | #### What is a "Fee"? 95 | A fee is taken from the transaction and added to the reward. 96 | 97 | Delegates can choose which transactions to include based on the fee the sender is willing to pay to have the transaction be added to a block. Fees are important to prevent spamming on the network; spam clogs the channels and slows transaction speed. 98 | 99 | #### What is a "Height"? 100 | The height is the block number or specific location in the blockchain. 101 | 102 | It is important when referring to a transaction's point on the timeline or when important events are scheduled based on block height. The height is a number starting close to 0 and gradually increasing to an infinite number with every addition to the blockchain. 103 | 104 | #### What is "Forged"? 105 | A forged block is created by a delegate. 106 | 107 | The forged block contains transactions selected at the delegate's discretion. Forging is a responsibility given to delegates on a turn basis. Once a block is forged and distributed to nodes, the following forged blocks are said to be in agreement with the previous ones. 108 | 109 | #### What is a "Block missed"? 110 | A block missed wasn't forged by the approved delegate on time. 111 | 112 | Every delegate has to produce a valid forged block in a strict time window to ensure a high transaction throughput within the network. Missing a block takes a proportional chunk out of the network's expected linear efficiency. 113 | 114 | #### What is an "Approval"? 115 | Approval is granted to a delegate with enough votes and gives it forging power. 116 | 117 | Approval enables the node to execute delegate functionalities like forging blocks. Approval is necessary and can be revoked once every delegation cycle. It is important for delegates to maintain approval, or they could lose their role and the benefits that come with it. 118 | 119 | #### What is a "Vote"? 120 | A vote is the weighing of the voting power towards a delegate of an account with funds. 121 | 122 | A voter splits his vote between delegates of his choice. The voter doesn't need to spend his funds, they are a reflection of the voter's stake in the network economy. 123 | 124 | #### What is a "Voter"? 125 | A voter holds the power to elect a delegate with his account. 126 | 127 | A voter decides where his vote(s) are placed for every delegation cycle and can change them often. Placing a vote is like making a transaction, though it costs a higher fee and has different network implications than a simple value transfer. The voter is incentivized to take a strong position in the placement of its vote. 128 | 129 | ---------------- 130 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/21_Contribute/21_Contribute.md: -------------------------------------------------------------------------------- 1 | # How to contribute to the Ark project 2 | 3 | ## Introduction 4 | 5 | Hello there ! Thinking about contributing to the Ark Ecosystem ? You're in the right place. 6 | 7 | Everyone is welcome to contribute with his own set of skills. Don't worry of you're not a crypto specialist or a developer : we can always find something for you 😉 8 | 9 | This guide will first detail the current bounty programs, then help you get started so you can contribute right away. So let's go ! 10 | 11 | ## Bounty programs 12 | 13 | ### Pull request 14 | 15 | Every pull request you submit and is accepted will be rewarded. 16 | 17 | #### Amount 18 | $10 for each accepted pull request. 19 | 20 | #### Accepted types of PR 21 | - Refactoring 22 | - Tests 23 | - Bug fixes 24 | - New features 25 | - Documentation 26 | - Translations or typos (but will be rewarded only once per month) 27 | 28 | If you want to implement a new feature, **please first ask the team** : you can create an issue in GitHub or join the [Slack channel](https://ark.io/slack) to talk about it. It will save you time if the feature could not be accepted as is. 29 | 30 | #### Eligible repositories 31 | - [ark-mobile](https://github.com/ArkEcosystem/ark-mobile) 32 | - [ark-desktop](https://github.com/ArkEcosystem/ark-desktop) 33 | - [ark-rpc](https://github.com/ArkEcosystem/ark-rpc) 34 | - [ark-deployer](https://github.com/ArkEcosystem/ark-deployer) 35 | - [ark-qrcode](https://github.com/ArkEcosystem/ark-qrcode) 36 | - [ark-js](https://github.com/ArkEcosystem/ark-js) 37 | - [ark-kotlin](https://github.com/ArkEcosystem/ark-kotlin) 38 | - [arky](https://github.com/ArkEcosystem/arky) 39 | - [ark-java](https://github.com/ArkEcosystem/ark-java) 40 | - [ark-explorer](https://github.com/ArkEcosystem/ark-explorer) 41 | - [ark-client](https://github.com/ArkEcosystem/ark-client) 42 | - [ark-node](https://github.com/ArkEcosystem/ark-node) 43 | - [ark-lite-wallet](https://github.com/ArkEcosystem/ark-lite-wallet) 44 | - [ark-net](https://github.com/ArkEcosystem/ark-net) 45 | - [ark-paperwallet](https://github.com/ArkEcosystem/ark-paperwallet) 46 | - [ARKcommander](https://github.com/ArkEcosystem/ARKcommander) 47 | - [ark-ts](https://github.com/ArkEcosystem/ark-ts) 48 | - [ark-ios-monitor](https://github.com/ArkEcosystem/ark-ios-monitor) 49 | - [ark-go](https://github.com/ArkEcosystem/ark-go) 50 | - [ark-ledger](https://github.com/ArkEcosystem/ark-ledger) 51 | - [nucleid](https://github.com/ArkEcosystem/nucleid) 52 | 53 | #### Examples 54 | - You got 3 accepted translation PRs in a month, you will get $10 55 | - You got 3 accepted bug fix PRs and 1 translation PR, you will get $40 56 | 57 | ### Monthly bounties 58 | 59 | At the end of each month, the month's top contributors will be rewarded. 60 | 61 | #### Amount 62 | - $2000 for 1st place 63 | - $1500 for 2nd 64 | - $1000 for 3rd 65 | - $250 for 4 to 6th 66 | - $50 for the other contributors 67 | 68 | #### Conditions 69 | - Have at least 1 merged PR in the month (only accepted and merged PRs count, pending PRs do not) 70 | 71 | #### Examples 72 | - You got 2 merged PRs in the month, 1 is a bug fix and 1 is a typo. You have been selected for the 5th place for the month : you will get $250, in addition to your $20 for your 2 merged PRs. 73 | 74 | ### Security bounty 75 | 76 | The security bounty rewards you for finding bugs or errors in the core code (ark-node) that could lead to security issues. 77 | 78 | #### Amount (depends on the criticity) 79 | - Low : $200 80 | - Medium : $1000 81 | - Critical : $2000 82 | - Doomsday : custom - contact the team 83 | 84 | You will also get an additional 50% if you provide a fix for the vulnerability you found. 85 | 86 | #### Conditions 87 | - Never disclose any exploit or vulnerability 88 | - Never maliciously initiate an exploit on the main network 89 | - Send an in-depth explanation mail to security@ark.io with steps to reproduce 90 | 91 | ### Documentation bounty 92 | 93 | The documentation bounty rewards you for contributing to the ArkEcosystem [docs repository](https://github.com/ArkEcosystem/docs). 94 | 95 | #### Amount 96 | - $10 to $30 per 100 written words, depending on the complexity and quality of the writing 97 | 98 | #### Conditions : 99 | - Write in English 100 | - Follow the workflow described in the next section *How to get started / Documentation* 101 | - Don't plagiarize : we take this seriously. It could get you excluded from participating in this or others bounties. 102 | 103 | ### Custom projects 104 | 105 | If you didn't find something for you, but you have another idea, get in contact with **boldninja** on [Slack](https://ark.io/slack) to talk about it. 106 | 107 | It can be (almost) anything : from an Ark-related app to a Ark design project or educational video... Your imagination is the limit ! 108 | 109 | If your project is accepted, you will get a funding so that you can work on it. 110 | 111 | ## How to get started 112 | 113 | ### Development 114 | 115 | So you want to start contributing to the ArkEcosystem repositories. You must have favorites programming languages / frameworks : go to the [ArkEcosystem](https://github.com/ArkEcosystem) organization page and browse the repositories looking for the one(s) that fits you. 116 | 117 | Now that you have chosen one or more repos, here is what you can do to get started : 118 | - Check the open issues. If you find something you would be comfortable developing, go for it. If not : 119 | - Set up your development environment, and start using the product : go through the use cases, test it. You might find a bug or something you can improve. 120 | - You can also check the closed issues to see what's been done : it can give you some ideas on what to do next. 121 | 122 | When you've found something to work on, check and follow the GitHub workflow in the next section. 123 | 124 | ### Documentation 125 | 126 | The documentation topics are organized in the Github [project page](https://github.com/ArkEcosystem/docs/projects/1) : you can go there and check the ones that are in status "Open". 127 | 128 | If there's one topic you want to write, contact **boldninja** on [Slack](https://ark.io/slack) and ask him if you can take it. If you have examples of things you wrote (a blog, a doc on GitHub, ...), send it to him. 129 | 130 | When you have confirmation that you can work on a subject, you can start and follow the GitHub workflow (link). 131 | 132 | Remember that quality is key if you want to get your writing approved. 133 | 134 | ## Github workflow 135 | 136 | To go through this workflow, you must have a GitHub account. You must also have Git installed on your computer. 137 | 138 | ### Fork the repository 139 | 140 | To fork the repository, go to its GitHub page and click on the "Fork" button that is in the upper right : 141 | 142 | ![Github Fork button](./assets/img/GithubForkButton.png) 143 | 144 | It should take a few seconds for your fork to be ready ! 145 | 146 | So now you have your own repository you can work on. 147 | 148 | ### Git clone to get the files locally 149 | 150 | To get your local copy of your repository, you have to run the Git clone command : 151 | 152 | git clone https://github.com//.git 153 | 154 | This will get you the files from the repository in a local folder. 155 | 156 | ### Have a look at ARK Development Guidelines 157 | 158 | We've written [development guidelines](https://github.com/ArkEcosystem/ARK-Development-Guidelines/) with some of our recommendations. Guidelines are not an absolute requirement or need to be enforced by tools, but they are recommendations based on what we have been doing in our projects. 159 | 160 | **Current style guides:** 161 | 162 | - [JavaScript](https://github.com/ArkEcosystem/ARK-Development-Guidelines/blob/master/JavaScript/README.md) 163 | - [Python](https://github.com/ArkEcosystem/ARK-Development-Guidelines/blob/master/Python/README.md) 164 | 165 | ### Work locally and push changes to your repo 166 | 167 | Now you can work, create and modify files. Once you're satisfied with your changes you can commit : 168 | 169 | git commit -m "This is my awesome commit !" 170 | 171 | And push your changes : 172 | 173 | git push 174 | 175 | ### Submit your changes : PR request 176 | 177 | Before you make a PR request, please (if applicable) check that : 178 | - Tests are passing : run `yarn test` 179 | - The code follows the coding standards : run `yarn lint` 180 | 181 | Finally, to submit your PR, go to the Ark repository on GitHub. 182 | 183 | GitHub might auto detect that you want to create a pull request and suggest it to you : 184 | 185 | ![Github PR suggestion](./assets/img/GithubPRSuggestion.png) 186 | 187 | If not you can do it manually : go to the "Pull requests" tab and click on the "New pull request" button. 188 | 189 | ![Github manual PR](./assets/img/GithubNewPR.png) 190 | 191 | You will then be able to compare your changes between the Ark master branch and your own branch (click on the link "compare accross forks"). 192 | 193 | ![Github PR compare changes](./assets/img/GithubPRCompare.png) 194 | 195 | If you're satisfied with the changes, then you can add a clear title and description to your PR and submit it ! 196 | 197 | ### Additional tips 198 | 199 | #### Keep your fork synced 200 | 201 | The Ark repositories are updated on a regular basis with new PRs. So you need to keep your fork synced in order to have the latest changes. 202 | 203 | To do that, please follow this Github doc : [Syncing a fork](https://help.github.com/articles/syncing-a-fork/). 204 | 205 | ## Conclusion 206 | 207 | Now you're up and ready to contribute to the Ark repositories ! 208 | 209 | If you have any doubt or questions, talk about it in the [Slack](https://ark.io/slack) channels. There are always people ready to help you. 210 | 211 | Welcome to the Ark Ecosystem, and have fun contributing 😀 212 | 213 | ---------------- 214 | [contributor information](./assets/info.md) 215 | -------------------------------------------------------------------------------- /general/03_ConsensusMechanism/03_ConsensusMechanism.md: -------------------------------------------------------------------------------- 1 | # Consensus Mechanisms 2 | There is a multitude of mechanisms used in peer-to-peer sharing protocols to maintain a valid history, some more common than others. In this document, we review a wide range of algorithms so you can familiarize yourself with many different kinds of consensus mechanisms. 3 | 4 | For simplicity, we will use the term "agreement" when referring to the underlying algorithm or mechanism of consensus in peer-to-peer protocols, including but not limited to Blockchains. 5 | 6 | Now, it is important to take note of the progression and improvement of various agreement systems for distributed networks. Many are variations on previous existing and tested solutions, and every single one most definitely borrows some of its core design from past works. 7 | 8 | Before we dive into the various categories and break them down in detail, let us iterate quickly the problem we're trying to solve with all of these implementations. 9 | 10 | ## Byzantine Agreement 11 | The problems that occur most often in a network of decentralized peers, where the power structure can be split between its members, are often referred to as being solved through Byzantine Agreement (BA). This nomenclature comes from a popularized decision-making problem that arises when any number of soldiers (or peers) in an army (or network) have the option of acting arbitrarily and potentially cause harm to other members of the group - the [General's Problem](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance). A network which can successfully prevent and heal from issues produced by bad actors and unavailable peers is said to be Byzantine Fault Tolerant (BFT). As many of your know, Bitcoin is claimed to be the first practical application of such category in modern times. 12 | 13 | ## Basics 14 | Before exploring agreement styles, one should be familiar with the general flow of decentralized ledgers like Blockchains. Typically, accounts have a pair of keys, one used to receive coins and the other to send them. The members of the network can create accounts and are connected to other peers. The peer's role is to propagate data, like transactions, to other peers. Peers can optionally participate in creating blocks of transactions which could be added to the chain, depending on agreement. The Blockchain is the series of blocks which are said to contain the official transaction history, is immutable and distributed. 15 | 16 | That's it. 17 | 18 | The various kinds of agreement that come with different protocols are in most cases results of trade-offs and optimizations regarding decentralization, speed and accuracy. 19 | 20 | --- 21 | 22 | Alright, let's get started! 23 | 24 | ## Equal Proof agreement, purely decentralized network validation repartition 25 | These are the original implementations, there are many kinds of agreement that occur depending on the specific protocol. 26 | 27 | The most wide-spread example of Equal Proof agreement is Proof of Work (PoW), used by protocols like [Bitcoin](https://medium.com/@BlockchainDeal/bitcoin-info-sheet-d9bad20800fd) and [Ethereum](https://medium.com/@BlockchainDeal/ethereum-info-sheet-cccaa21b9a6b). It relies on block ***mining***, which is a term used to describe the computational work load necessary to achieve block validity. It is common to have pools of contributing miners to solve the increasingly difficult puzzles required for validation. Block miners are rewarded with a standardized amount of coins for every block. The difficulty adjustment ensures the reduction of inflation relative to the total amount of blocks, thus increasing the coin's value over network use (time). 28 | 29 | The criticism regarding Proof of Work is related to the increase in energy requirements as the puzzles get harder. This leads us into the development of more energy-efficient agreement, notably Proof of Stake (PoS). It maintains block validation by ensuring that accounts wanting to mine are instead required to lock up a desired amount of coins from their balance, increasing their chance of being selected to mine a block. 30 | 31 | For an example of a protocol using such agreement, see [NXT](https://nxtplatform.org/). 32 | 33 | Proof of Stake generally makes use of Proof of Work for the initial issuance of coins from mined blocks, then gradually shifting the proof load towards stakeholders instead of miners, thus making staked coins a more valuable economic resource than mining (hardware, energy) for validation. Another popular approach for the initial coin supply issuance is to mint coins to investors through fundraising. 34 | 35 | ## Delegated Proof agreement, concentrated network validation with economic incentives 36 | The problem with PoS is that in most implementations, there is a lack of cost for participating poorly in the validation process. It is trivial to simply not mine a block when selected as the next miner, thereby delaying the entire network in terms of transactions per second (TPS). This is an important factor in the development of delegated agreement, as seen in Delegated Proof of Stake (DPoS) - with [Ark](https://github.com/ArkEcosystem/docs/blob/master/general/01_WhatIsARK/01_WhatIsArk.md) - or Delegated Byzantine Fault Tolerance (DBFT) - with [NEO](http://docs.neo.org/en-us/index.html). 37 | 38 | Both of these agreement structures rely on the delegation of a specific number of peers, through the use of votes with coins or other symbols, whom gain privileges when in power. For every delegation cycle, the delegates are in charge of ***forging*** blocks. A greater speed is achieved in these two implementations, considering that it is unlikely for a delegate to remain in power after acting poorly towards the other peers and the lack of significantly time-consuming computations. 39 | 40 | Mainly, the two just outlined agreement solutions differ in terms of their respective validation process. In the Proof of Stake version, the delegates are randomly selected to forge blocks on a turn basis, whereas in Delegated Byzantine Fault Tolerance the required number of delegates must validate every new block for it to be forged. The forged block is considered increasingly valid every time another block is added to the chain in DPoS. In DBFT, the block is considered valid as soon as the minimum number of delegates (typically 2/3 +|-1) agree on its validity. 41 | 42 | There are valid points to be made for holding a more centralized structure for agreement as seen with delegation: having closer physical relationships between delegates can increase network speed in the case of DBFT and, in both cases, network participants benefit from the increased incentive for delegated peers to act properly. 43 | 44 | ## Network Incentive agreement, cultivation of healthy network participation habits 45 | Some argue that centralization is what peer-to-peer technology is made to avoid. This emphasizes the development of novel solutions for agreement which don't rely on economic resources or delegated peers - which use intrinsic protocol-level settings to guide peers; something like Federated Byzantine Agreement (FBA) and Tangle - native to [Stellar]() and [IOTA]() respectively. 46 | 47 | Agreement in FBA is reached gradually, through the use of a network of trusted peer groups, or quorums. The network itself operates on rules that can be changed through voting with the coin. A quorum is the term used to define a group of peers through which a single member is able to gather block validity information. The members themselves are not required to validate blocks, but they could be left out of being included in certain quorums which validate every block if they are found to propagate faulty ones. It is therefore in the peer's best interest to exude a standard level of truth through its trust affiliations and validation procedures. 48 | 49 | IOTA, on the other hand, requires every new transaction to endorse two prior ones and creates a Tangle of trust rather than a Blockchain. Transactions are graded with a weight: a combination of the weight of transactions is directly or indirectly validates and the weight of transactions endorsing it. 50 | 51 | ## Permissioned Ledgers, enterprise solutions and hierarchical design of distributed computing 52 | Many networks have emerged which offer similar functionality to the open ledgers reviewed. The permissioned distributed ledgers are orchestrated much like traditional enterprise networks which make use of clearance levels, individual-or-group specific responsibilities and identity management. These are important to understand because they are inspired by open protocols, often innovating upon them, and offer alternative means to manage distributed networks. 53 | 54 | The core functionality of a permissioned ledger is basically the same as any other distributed network, the main differences being how identity, rights and responsibilities are shared across peers - e.g. in many implementations, a specific peer class is responsible for creating an order of transactions in a block and to propagate it, while others verify those transactions and decide whether or not they commit them to the chain as being valid. 55 | 56 | This kind of structure has a few spin-offs, notably: Practical, Simplified and Redundant BFT; each describing a different set of procedures to follow for the maintenance of a healthy Blockchain. 57 | 58 | Perhaps the most significant approach to solving efficient peer-to-peer networking from a permissioned standpoint is, in which validation occurs through the simulation of other peers' votes. The role of the protocol is ensuring peers have access to what other peers have access to, this is called gossip and is made redundant. Effectively, an entire peer's collection of information about other network members is the basis for establishing whether or not this peer will endorse a given transaction, and this can all be calculated locally (given the information about the peer is up-to-date). 59 | 60 | Permissioned ledgers are often marketed as having higher TPS than open ledgers, however this is mainly due to the reduction of the need to have a heavy confirmation weight from subsequent transactions or block. There is no intrinsic protocol improvement for these kinds of ledgers, they instead rely on the probability of having an army of good soldiers. This can be suitable for networks with high accountability and repercussions for bad behavior, but it fails when applied to a broader audience of individuals because the improved speed is only a result of the lack of bad acting and few peers. 61 | 62 | ## Further implications 63 | As detailed, the many existing solutions for solving consensus in peer-to-peer networks are often individually similar and offer trade-offs when compared to one another. There are novel innovations claiming to be superior, though the natural evolution of agreement tends to flow between existing implementations and they are subject to improve or adapt then adopt each other's structural advantages when needed. 64 | 65 | Depending on the specific case, a particular option is more suitable than another. In a scenario where the goal changes frequently, a network equipped with the functionality to fundamentally alter its underlying agreement mechanism is likely to be a long-lasting solution. 66 | 67 | 68 | ---------------- 69 | [contributor information](./assets/info.md) 70 | -------------------------------------------------------------------------------- /general/12_BlockchainExplorer/12_BlockchainExplorer.md: -------------------------------------------------------------------------------- 1 | # What is a block explorer? 2 | 3 | If a Blockchain is a highway of transactional records, from the very first to the most current, a block explorer is your Hollywood tour bus; a guide to every aspect of that highway as you travel through it. Most people when they use the block explorer are only doing so to confirm a transaction they have sent or are receiving, this however only taps into a tiny fraction of the power contained within the explorer. 4 | Block explorers can give anyone access to all the information contained within that blockchain. You can search every block ever created, see every transaction an address has conducted as well as a snapshot of the status of that network in totality. 5 | Every Blockchain uses has block explorer and ARK is no different; however, we pride ourselves on making all our interfaces intuitive and easy to read for users at any level, from novice to advanced and our block explorer is an example of that committment. 6 | Let’s begin our journey into the ARK explorer, first looking at mobile functionality followed by the slightly more robust desktop experience. 7 | 8 | ![MOBILE BLOCK EXPL Overview](./assets/img/MobileBlockExplorerOverview.png) 9 | 10 | When you first arrive at explorer.ark.io you will find the following information immediately available. 11 | If you are using the desktop version of the ARK block explorer, you will see a price graph on the home page. This interactive graph allows you to see ARK price in relation to your chosen national currency over periods of day, week, month, quarter and year views. 12 | 13 | ![LATEST TRANSACTION Overview](./assets/img/LatestTransactionOverview.png) 14 | 15 | ### Latest Transactions: 16 | 17 | This will be a list of the most recent transactions that have been broadcast to the network. Inside each transaction you will be able to find out the following information 18 | - **ID:** This will show the unique identification (ID) number for this transaction. This can be used to prove to another party that this transaction was sent from an address to another address and approved by the network. If you click on this ID, you will be able to see how many confirmations it has received and most importantly what Block it was included in. By being writing into a block it proves that the network has accepted it as a valid transaction and is forever written in to the ARK blockchain. 19 | - **Timestamp:** This indicates the exact time that the transaction was broadcasted and accepted by the network. 20 | - **Sender:** This field shows the ARK wallet address that initiated the transaction, i.e. who is sending the transaction. 21 | - **Recipient:** Here we see the wallet address who the sender (above) wished to send this transaction to, i.e. who is receiving the transaction. 22 | - **Smart bridge:** This field indicates the ARK SmartBridge that was used in the transaction. SmartBridges are the groundbreaking innovation that drives the ARK Ecosystem; allowing for disparate blockchains to interact with each other. Think of each blockchain like an island with no communication between them. If you work on Ethereum Island but your business partner only works on Bitcoin island you can't trade or work together. ARK SmartBridges are like an airstrip, cargo barge, cellphone towers and internet all rolled into one. You can do business with any of the other islands from any other island, instantaneously and nearly friction free. A more detailed explanation of Smart bridges can be found in our section [**What are bridge chains and how to use them**](http://ark.io/* 23 | - **Amount:** This will indicate the amount of ARK that was send from the Sender to the Recipient 24 | - **Fee:** This indicates the fee paid to send the transaction. A list of current fees on the ARK network can be found in [**ARK: Frequently Asked Questions — FAQ**](https://blog.ark.io/ark-frequently-asked-questions-faq-bcb90a0537cc) 25 | 26 | ![LATEST BLOCK Overview](./assets/img/LatestBlockOverview.png) 27 | ### Latest Blocks: 28 | - **ID:** This will the show unique identification (ID) for the Block that was forged. If you want to learn more about blockchain refer to our section on [**What is a blockchain and why do we need it?**](http://ark.io/) 29 | - **Height:** This section will show how far from the initial (genesis) block, the blockchain has progressed. For example, if you are looking at a block with the height listed as 1000, this will indicate that this specific block is the 999th since the first (genesis) block. 30 | - **Timestamp:** This indicates the date and time the block was forged and written onto the ARK blockchain. 31 | - **Transactions:** Here you will see how many transactions were included in this block. 32 | - **Generated By:** Refers to which delegate forged this specific block. For more information on DPOS/delegates refer to our section on [**What is DPOS and how it relates to other consensus mechanisms**](http://ark.io/) 33 | - **Amount:** Indicates the total amount of ARK for all transactions inside the block 34 | - **Fee:** Shows the total fees associated with all transactions within the block. 35 | 36 | ![NETWORK INFORMATIION Overview](./assets/img/NetworkInformation.png) 37 | 38 | ### Network Information: 39 | Across the top of the page you will also see a list of information about the current state of the network you are viewing. 40 | - **Height:** This is current live view of how many blocks have been created since the first (genesis) block when the ARK blockchain was created. 41 | - **ARK/Fiat:** This indicates the current price of ARK in your chosen national currency. This will often be auto set to the national currency of wherever you are connecting to the internet from. For mobile users, in the upper right-hand corner you can, by clicking the currency icon, change this setting to the national currency of your choice. 42 | - **Supply:** This area shows the total supply of ARK currently exists. Depending on the coin, total supply can mean the total amount of coins that will ever exist, however in ARK's case this number goes up over time with a set number of coins created every year. For more information on DPOS/delegates refer to our section on [**What is DPOS and how it relates to other consensus mechanisms**](http://ark.io/) 43 | 44 | - **Network:** This will indicate whether you are viewing the mainnet or testnet. Mainnet is where transactions are conducted and settled in real time. In contrast the testnet is used by developers to test functionality before introducing features or other applications onto the mainnet. For the average user this is of no consequence and your experience will always be on the mainnet. 45 | - **Market Cap:** This refers to the market capitalization of ARK, the total value of all the ARK that exist by multiplying the Total Supply by the current price of your chosen national currency. 46 | 47 | ![DROPDOWN Overview](./assets/img/DROPDOWN.png) 48 | 49 | ### Top Menu Bar 50 | **ARK ICON:** This will take you back to the ARK explorer home page 51 | 52 | **Drop Down Menu:** This contains the following Information 53 | - **Home:** This will take you back to the explorer home page 54 | - **Top Wallets:** This will show you the wallets, descending from high to low, that hold the most ARK. From there you will be able to see their numerical ranking (in relation to total balance), wallet address, balance and the percentage of total supply they control. Currently the ARK development team holds the largest percentage of ARK, which is used to pay for projects and developers to improve network functionality and other projects that bring value to the ARK community. 55 | ![Top Wallets](./assets/img/TOPWALLETS.png) 56 | - **Delegate Monitor:** This shows the current list of delegates and their votes on the network. ARK is run by its community who vote for delegates. Delegates, among other things, vote on their behalf in community related matters and most importantly forge (verify) blocks. The top 51 delegates perform these functions for the network and rely on community support to maintain their position within the network. For more information on DPOS/delegates refer to our section on [**What is DPOS and how it relates to other consensus mechanisms**](http://ark.io/) 57 | ![Delegate Monitor Overview](./assets/img/DELEGATEMONITOROVERVIEW.png) 58 | 59 | The delegate monitor shows two tabs, **"Active"** and **"Standby"**. 60 | Active will list the current top 51 active delegates, an overview of blocks recently forged, blocks missed, delegates who are not forging and those delegates waiting to forge the next blocks. 61 | 62 | ![Delegate Overview](./assets/img/DELEGATEOVERVIEW.png) 63 | 64 | If you click on a delegate’s username you will be taken to delegates wallet address page and see the following information. 65 | - **Balance:** Total amount of ARK in delegates wallet. 66 | - **Transactions:** green arrows indicate number of transactions INTO the delegates wallet, while red arrows indicate transactions OUT of the delegates wallet. 67 | - **Uptime:** Indicates the percentage of time the delegates node has been connected to the network. When delegate nodes are not online they are not forging (verifying) new blocks, thus this can be an important aspect for ARK community members to consider when voting. 68 | - **Rank/Status:** This shows what the delegates ranking is in terms of votes. For example, if you see the number six this means that delegate has the sixth highest number of votes for all delegates in the network. 69 | - **Approval:** This field will show the percentage of the total network votes they control. If this shows 5% then that means that 5% of all votes in the network are pledged to them. 70 | - **Forged:** Indicates how many total ARK they have been rewarded through forging (verifying) blocks. 71 | - **Blocks:** Shows the total number of blocks this delegate has forged on the network 72 | - **Votes:** Who this wallet has cast their delegate vote towards . 73 | - **Voters:** How many total voters this delegate has pledged to them. 74 | 75 | ![Header Overview](./assets/img/HEADERoverview.png) 76 | 77 | The last three menu option are as follows 78 | 79 | **Search Bar:** 80 | 81 | Here you can input any ARK wallet address, transaction or block ID to find detailed information about them. For example, most users will use this to check the status of a transaction that they sent or are to receive. If you were sending someone a transaction of 5 ARK, once you send the payment a transaction ID will be generated, and you will be able to forward that information to the recipient as both a validation of payment and a digital tracking ID as to its disposition in the network. 82 | 83 | **Currency Pairing:** 84 | 85 | The currency symbol can be changed to reflect the live price of ARK to your national currency of choice. 86 | 87 | **Day/Night Mode:** 88 | 89 | This is merely an aesthetic choice depending on the user and how they prefer the interface to look. 90 | it is important to note that there are few minor differences between the desktop and mobile versions of the explorer, although most of the experience is the same. The most marked difference is a price graph on the home page of the block explorer. This interactive graph allows you to see ARK price in relation to your chosen national currency over day, week, month, quarter and year views. The other two functionality differences are in the network information bare near the top of the page. 91 | 92 | With this information you can now take advantage of the full breadth of functionality contained within the ARK explorer. While this may seem like a simple tool, this is a window into why cryptocurrencies are so powerful. Block explorers help individuals like yourself to see that the blockchain is a permanent record of transactions so that trust can be placed in a trustless system. 93 | 94 | ---------------- 95 | [contributor information](./assets/info.md) 96 | -------------------------------------------------------------------------------- /general/16_SecureARKNode/16_SecureARKNode.md: -------------------------------------------------------------------------------- 1 | # Securing your ARK Nodes 2 | When running an ARK node, especially a delegate node, you should have security 3 | as first class citizen in your network. This guide will walk you through securing your nodes. 4 | You could do more, but this is a good start. You will need to have created a user in our 5 | previous guide [Setup Your ARK Node]() to follow along completely. 6 | 7 | :warning: 8 | **It is very important you follow this guide closely, not doing so could mean losing access to your node. If you lose access to your node there is no possible way for us to help you get it back. You will have to start over with a fresh server.** 9 | 10 | ## Security through Obscurity 11 | By outlining how to secure a node we're breaking a fundamental property of network security. We're telling people how we're securing our network. This breaks the security through obscurity([Wikipedia Reference](https://en.wikipedia.org/wiki/Security_through_obscurity)) rule. In order to reintroduce some obscurity I'm going to ask you to make choices that you're going to need to remember on your own. 12 | 13 | Write them down somewhere if you have to, but keep them secure and most importantly don't forget them, as we'll have no way of knowing what you chose. 14 | 15 | ## Making Sure Our Server is Updated 16 | First thing we're going to do is make sure we have the latest security updates for Ubuntu. Once everything installs you'll need to reboot to make sure all the upgrades applied properly. 17 | 18 | ``` 19 | sudo apt-get update -y 20 | sudo apt-get upgrade -y 21 | ``` 22 | 23 | :warning: **REBOOT YOUR SERVER** :warning: 24 | 25 | ``` 26 | sudo reboot 27 | ``` 28 | 29 | ## SSH Security 30 | 31 | ### Edit your SSH config 32 | Edit your `sshd_config` by running the following command 33 | ``` 34 | sudo nano /etc/ssh/sshd_config 35 | ``` 36 | 37 | #### Change default port 38 | 39 | ![port change](./assets/img/port_change.png) 40 | 41 | Change the `22` to a port of your choosing between `49152` and `65535`. This is the new SSH port we will connect on. Since we're not using the default SSH port, it's important you do not forget what you choose or you will not be able to access your server. 42 | 43 | ``` 44 | # What ports, IPs and protocols we listen for 45 | Port 55555 46 | ``` 47 | 48 | #### Authentication Settings 49 | In the previous section we had you create a new account for security purposes. 50 | You should never login as root to your server after it has been setup. Our first security measure is going to be to disable root access all together. 51 | 52 | ![authentication](./assets/img/authentication.png) 53 | 54 | Change `LoginGraceTime` to `60` and set `PermitRootLogin` to `no` 55 | 56 | ``` 57 | # Authentication: 58 | LoginGraceTime 60 59 | PermitRootLogin no 60 | StrictModes yes 61 | ``` 62 | 63 | #### Disable X11 Forwarding 64 | Set `X11Forwarding` to `no` 65 | 66 | ![x11 forwarding](./assets/img/x11_forwarding.png) 67 | 68 | ``` 69 | X11Forwarding no 70 | ``` 71 | 72 | #### Limit Max Concurrent Connections 73 | Scroll down until you see the following line and remove the `#` to enable `MaxStartups`. Then set MaxStartups to `2`. 74 | 75 | ![max startups](./assets/img/max_startups.png) 76 | 77 | ``` 78 | MaxStartups 2 79 | ``` 80 | #### Save your config file 81 | Press `CTRL+X` to exit the file, `Y` to save the file and then `Enter` to write to the file and return to the command line. 82 | 83 | #### Restart SSH daemon 84 | ``` 85 | sudo service ssh restart 86 | exit 87 | ``` 88 | 89 | #### Test new SSH connection 90 | ``` 91 | ssh user@yournode -p 55555 92 | ``` 93 | 94 | If everything was setup successfully you should be reconnected to your ARK node. Replace `55555` with the port you chose when setting up your `sshd_config` 95 | 96 | ### Install Fail2Ban 97 | #### What is Fail2Ban 98 | The basic idea behind fail2ban is to monitor the logs of common services to spot patterns in authentication failures. 99 | 100 | #### Installation 101 | Install Fail2Ban and create local configuration file. 102 | 103 | ``` 104 | sudo apt-get install fail2ban 105 | sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 106 | ``` 107 | 108 | #### Configuration 109 | Find all the references that specify port = SSH (typically in the SSH header section) and change the port to the new one you selected in the SSH security section above. 110 | 111 | ``` 112 | sudo nano /etc/fail2ban/jail.local 113 | ``` 114 | 115 | ![fail2ban_config](./assets/img/fail2ban.png) 116 | 117 | #### Save your config file 118 | Press `CTRL+X` to exit the file, `Y` to save the file and then `Enter` to write to the file and return to the command line. 119 | 120 | #### Restart Fail2Ban daemon 121 | ``` 122 | sudo service fail2ban restart 123 | exit 124 | ``` 125 | 126 | ### Port Knocking 127 | #### What is Port Knocking? 128 | Port knocking is a technique used which obscures the port you're actually connecting on to prevent port scanning by opening and closing it when you need it. We will use a series of ports to essentially "knock" and your server will open your configured port for you to connect on by listening for connection attempts on those ports in a specific order. 129 | 130 | #### Disable UFW 131 | By default UFW comes enabled with Ubuntu 16.04. If you get `ufw command not found` then run 132 | 133 | ``` 134 | sudo apt-get install ufw 135 | sudo ufw disable 136 | ``` 137 | 138 | You can verify that UFW is disabled by running `sudo ufw status` and get a response of `inactive`. 139 | 140 | #### Disable all incoming connections 141 | ``` 142 | sudo ufw default deny incoming 143 | ``` 144 | 145 | #### Enable Node Port 146 | Depending which network this node is for will determine what port you open here. For mainnet use `4001`, devnet use `4002`, and testnet use `4000`. 147 | 148 | We don't want to open any more ports than required to operate securely. 149 | 150 | ``` 151 | sudo ufw allow 4001/tcp 152 | ``` 153 | 154 | #### Install knockd on server 155 | ``` 156 | sudo apt-get install knockd -y 157 | ``` 158 | 159 | #### Start knockd server on boot 160 | ``` 161 | sudo nano /etc/default/knockd 162 | ``` 163 | 164 | We need to change `START_KNOCKD=0` to `START_KNOCKD=1` 165 | 166 | ![knockd](./assets/img/knockd.png) 167 | 168 | ``` 169 | ################################################ 170 | # 171 | # knockd's default file, for generic sys config 172 | # 173 | ################################################ 174 | 175 | # control if we start knockd at init or not 176 | # 1 = start 177 | # anything else = don't start 178 | # 179 | # PLEASE EDIT /etc/knockd.conf BEFORE ENABLING 180 | START_KNOCKD=1 181 | 182 | # command line options 183 | #KNOCKD_OPTS="-i eth1" 184 | 185 | ``` 186 | 187 | Then press `CTRL+S`, then answer `Y`, and finally press `ENTER` to return to the command line. 188 | 189 | #### Edit Config 190 | ``` 191 | sudo nano /etc/knockd.conf 192 | ``` 193 | ##### Knock Ports 194 | Here we're going to pick our opening and closing knock sequence. Choose three ports between `7000` and `40000` for each opening and closing. Write these ports down. The sequences need to be different. 195 | 196 | Modify your config file to match the one below with your own ports. We do not recommend just copying and pasting this config. Replace `7000`, `8000`, `9000` with your own choices. 197 | 198 | Also don't forget to replace `55555` with the port you chose for `SSH`. 199 | 200 | ``` 201 | [options] 202 | UseSyslog 203 | 204 | [openSSH] 205 | sequence = 7000,8000,9000 206 | seq_timeout = 5 207 | command = ufw allow 55555/tcp 208 | tcpflags = syn 209 | 210 | [closeSSH] 211 | sequence = 9000,8000,7000 212 | seq_timeout = 5 213 | command = ufw delete allow 55555/tcp 214 | tcpflags = syn 215 | 216 | ``` 217 | 218 | #### Enable our Firewall and Start knockd 219 | ``` 220 | sudo service knockd start 221 | sudo ufw enable 222 | ``` 223 | 224 | #### Status to make sure they're working 225 | ``` 226 | sudo service knockd status 227 | sudo ufw status 228 | ``` 229 | 230 | #### Install knockd client 231 | Install a client for your operating system to make knocking easier. There even a couple of mobile apps you can use for quickly knocking on your server to open your ssh port. 232 | 233 | After knocking your port will remain open until you send the closing knock sequence. 234 | 235 | ##### Ubuntu 16.04 236 | ``` 237 | sudo apt-get install knockd 238 | ``` 239 | 240 | ##### Alternate Clients 241 | - [Win32 Client](http://www.zeroflux.org/proj/knock/files/knock-win32.zip) 242 | - [MacOS Client](http://www.zeroflux.org/proj/knock/files/knock-macos.tar.gz) 243 | - [Debian Package](http://packages.debian.org/unstable/net/knockd) 244 | - [RPM Package](http://www.invoca.ch/pub/packages/knock/) 245 | - [Android Client](https://play.google.com/store/apps/details?id=com.droidknocker) 246 | - [iPhone Client](http://www.sungheroes.com/portknock/) 247 | 248 | #### Troubleshooting and Testing 249 | Logs for knockd appear in `syslog` and will be crucial if you need to troubleshot. 250 | 251 | Run the following command on your ARK node server. 252 | ``` 253 | tail -f /var/log/syslog 254 | ``` 255 | 256 | Lets test our knocking! We set our SSH port, and we've enabled knocking. Now we need to test to make sure that when we send the correct knock that we open and close the port properly. 257 | 258 | ##### Open SSH Port 259 | From your personal computer or mobile phone use the client you installed above or if you're running Linux install `knockd` by running `sudo apt-get install knockd` and use the following command to knock 260 | 261 | ``` 262 | knock -v nodeip 7000 8000 9000 263 | ``` 264 | 265 | You should see the following logs appear in your `syslog` 266 | ``` 267 | Apr 17 04:02:18 node1 knockd: nodeip: openSSH: Stage 1 268 | Apr 17 04:02:18 node1 knockd: nodeip: openSSH: Stage 2 269 | Apr 17 04:02:18 node1 knockd: nodeip: openSSH: Stage 3 270 | Apr 17 04:02:18 node1 knockd: nodeip: openSSH: OPEN SESAME 271 | Apr 17 04:02:18 node1 knockd: openSSH: running command: ufw allow 55555/tcp 272 | ``` 273 | 274 | Running `sudo ufw status` you should now see your SSH port enabled 275 | ``` 276 | arkoar@node1:~$ sudo ufw status 277 | Status: active 278 | 279 | To Action From 280 | -- ------ ---- 281 | 2086/tcp ALLOW Anywhere 282 | 4002/tcp ALLOW Anywhere 283 | 55555/tcp ALLOW Anywhere 284 | 2086/tcp (v6) ALLOW Anywhere (v6) 285 | 4002/tcp (v6) ALLOW Anywhere (v6) 286 | 55555/tcp (v6) ALLOW Anywhere (v6) 287 | ``` 288 | 289 | ##### Close SSH Port 290 | ``` 291 | knock -v nodeip 9000 8000 7000 292 | ``` 293 | 294 | ``` 295 | Apr 17 04:23:37 node1 knockd: nodeip: closeSSH: Stage 1 296 | Apr 17 04:23:37 node1 knockd: nodeip: closeSSH: Stage 2 297 | Apr 17 04:23:37 node1 knockd: nodeip: closeSSH: Stage 3 298 | Apr 17 04:23:37 node1 knockd: nodeip: closeSSH: OPEN SESAME 299 | Apr 17 04:23:37 node1 knockd: closeSSH: running command: ufw delete allow 55555/tcp 300 | ``` 301 | 302 | ### Connect to SSH using Keys 303 | :warning: **IF YOU DO NOT COPY THE CORRECT KEY TO YOUR SERVER IN THE CORRECT LOCATION YOU WILL LOSE ACCESS** :warning: 304 | 305 | If you are not comfortable with this you can continue logging in via password, but it is less secure. 306 | 307 | SSH keys should be generated on the computer you wish to log in from. Just press enter and accept all the defaults. 308 | 309 | #### MacOS / Linux 310 | ``` 311 | ssh-keygen -t rsa 312 | ``` 313 | 314 | Browse to your `~/.ssh` directory and check to make sure it worked. You should see the following files. 315 | 316 | ``` 317 | cd ~/.ssh 318 | ls -l 319 | 320 | -rw------- 1 travism travism 1675 Mar 28 12:13 id_rsa 321 | -rw-r--r-- 1 travism travism 401 Mar 28 12:13 id_rsa.pub 322 | -rw-r--r-- 1 travism travism 3764 Apr 16 23:15 known_hosts 323 | ``` 324 | 325 | Copy your key to your server 326 | 327 | ``` 328 | # open SSH port it not already open 329 | knock -v nodeip 7000 8000 9000 330 | 331 | # copy key 332 | ssh-copy-id -p 55555 user@nodeip 333 | ``` 334 | 335 | #### Windows 336 | Windows users can generate their ssh key using [PuTTY Key Generator](https://www.ssh.com/ssh/putty/windows/puttygen) 337 | 338 | ##### Copy your **PUBLIC KEY** to your Server 339 | 340 | Copy the contents of your `id_rsa.pub` file on your local machine to your `~/.ssh/authorized_keys` on your ARK node server. 341 | 342 | #### Disable Password Authentication 343 | ``` 344 | sudo nano /etc/ssh/sshd_config 345 | ``` 346 | 347 | This file should look familiar to you as we edited it earlier in this process. This time we're going to disable password authentication. Set 348 | `PasswordAuthentication` to `no` and make sure that `PubkeyAuthentication` is set to `yes` and `ChallengeResponseAuthentication` is set to `no` 349 | 350 | ``` 351 | PasswordAuthentication no 352 | PubkeyAuthentication yes 353 | ChallengeResponseAuthentication no 354 | ``` 355 | 356 | Save your changes by pressing `CTRL+X`, then respond with `Y`, and finally press `ENTER` to write to file. 357 | 358 | #### Restart SSH 359 | ``` 360 | sudo service ssh restart 361 | ``` 362 | 363 | The next time you login you should just log right in without a password prompt. 364 | 365 | 366 | ### DDOS Protection with Cloudflare 367 | In this section we're going to setup Cloudflare and SSL for ddos protection and security using Nginx as a reverse proxy. 368 | 369 | #### Install Nginx 370 | ``` 371 | sudo apt-get install nginx 372 | ``` 373 | 374 | #### Edit Nginx Config 375 | ``` 376 | sudo nano /etc/nginx/enabled-sites/default 377 | ``` 378 | 379 | Paste in the following config, making sure you edit the `server_name` and `proxy_pass`. You may need to change `ssl_certificate` and `ssl_certificate_key` 380 | if you name your files something different. 381 | 382 | ``` 383 | # HTTPS 384 | server { 385 | listen 443; 386 | server_name node.yoursite.com; 387 | ssl on; 388 | ssl_certificate /etc/nginx/ssl/ark.crt; 389 | ssl_certificate_key /etc/nginx/ssl/ark.key; 390 | ssl_verify_client off; 391 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 392 | ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; 393 | ssl_prefer_server_ciphers on; 394 | location / { 395 | proxy_set_header X-Real-IP $remote_addr; 396 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 397 | proxy_set_header X-NginX-Proxy true; 398 | proxy_pass http://localhost:4001/; 399 | proxy_ssl_session_reuse off; 400 | proxy_set_header Host $http_host; 401 | proxy_cache_bypass $http_upgrade; 402 | proxy_redirect off; 403 | } 404 | } 405 | ``` 406 | 407 | Press `CTRL+X` to exit the file, `Y` to save the file, and `ENTER` to write to the file and return to command line. 408 | 409 | #### Cloudflare / SSL Setup 410 | 411 | ##### Login to your Cloudflare dashboard and click on the `DNS` button. 412 | ![cloudflare dns](./assets/img/cloudflare_dns.png) 413 | 414 | ##### Click Crypto 415 | ![cloudflare crypto](./assets/img/cloudflare_crypto.png) 416 | 417 | ##### Create Origin Certificate 418 | Scroll down to `Origin Certificates` and click the `Create Certificate` button. Keep this window open after Cloudflare generates your two keys. 419 | 420 | ![cloudflare origin certificate](./assets/img/cloudflare_certificate.png) 421 | 422 | ##### Open Terminal on your ARK Node Server 423 | We need to create a new folder and copy our keys to our server. 424 | 425 | ``` 426 | mkdir /etc/nginx/ssl 427 | cd /etc/nginx/ssl 428 | touch ark.crt ark.key 429 | ``` 430 | 431 | Copy the `PRIVATE KEY` to the file `ark.key` and the `CERTIFICATE` to `ark.crt`. 432 | 433 | ##### Start Nginx 434 | ``` 435 | sudo service nginx start 436 | ``` 437 | 438 | If everything started fine you should be able to now access your ARK node API's 439 | behind SSL. Giving you the added bonus of cloudflare DDOS protection. 440 | 441 | Otherwise, if you get any errors run the following command to troubleshoot nginx. 442 | ``` 443 | sudo nginx -t -c /etc/nginx/nginx.conf 444 | ``` 445 | 446 | ### Conclusion 447 | Your node is now very secure. With this setup you can open and close your SSH port 448 | remotely using a secret knocking technique as well as sign in using cryptographic 449 | keys. 450 | 451 | ---------------- 452 | [contributor information](./assets/info.md) -------------------------------------------------------------------------------- /general/10_ARKDesktopApp/10_ARKDesktopApp.md: -------------------------------------------------------------------------------- 1 | ![Imgur](https://i.imgur.com/kbcljUW.png) 2 | 3 | #
**How to use ARK Desktop Application**
4 | 5 | #### What is it? 6 | 7 | The ARK Desktop Application is the primary software that most users will utilize to store, send, receive, vote and do much more with their Ark. The desktop application/client interfaces with your wallet and allows you to interface with Ark! 8 | 9 | This User Guide is for the everyday, non-developer Ark consumer. 10 | 11 | #### First things first... 12 | 13 | We first have to download the ArkClient to get started. Start here (*if you already have the ArkClient downloaded feel free to skip to the next section to get started on the topic you're interested in learning more about*) : 14 | 15 | [ArkClient Download](https://github.com/ArkEcosystem/ark-desktop/releases) 16 | 17 | *or* feel free to type in the URL bar , dropdown Wallets and select Desktop Wallet. 18 | 19 | **Note**: The above link is the authoriatative source for the latest ArkClient. As a friendly reminder, don't ever click on links that are not sponsered by or provided by the Official Ark Team. 20 | 21 | When you arrive on this page you will see multiple options for the ArkClient. Select the one that reflects your operating system: 22 | 23 | ![Client-Page](https://i.imgur.com/mayofKo.png?1) 24 | 25 | ### In this User Guide we will review the following topics: 26 | ###### *Feel free to navigate to the specific topic you're interested in by clicking on it, or read from beginning to end if you're new to the ArkClient* 27 | 28 | * **[Creating your Ark Wallet](#creatingarkwallet)** 29 | * [Identifying your Ark Wallet Address](#idwalletaddress) 30 | * **[Sending Ark to your Ark Wallet](#sendingarkto)** (*from an exchange*) 31 | * **[Sending Ark from your Ark Wallet](#sendingarkfrom)** 32 | * **[Voting with your Ark Wallet](#voting)** 33 | * **[Unvoting a delegate](#unvote)** 34 | * **Various functions & features within the ArkClient/Desktop Application** 35 | * [Appearance](#appear) 36 | * [Renaming your Ark Wallet](#rename) 37 | * [Adding a second passphrase](#2ndpass) 38 | * [Remove wallet from ArkClient](#removewallet) 39 | * [Import Account](#import) 40 | * [Export Account](#export) 41 | * [Timestamp a File](#timestamp) 42 | * Different settings within ArkClient/Desktop Application 43 | * [Currency](#currency) 44 | * Price 45 | * [Language](#lang) 46 | * [Add Contacts](#contacts) 47 | * **[Frequently Asked Questions](#FAQ)** 48 | * **[Appendix/Useful Links](#appen)** 49 | 50 | 51 | ___ 52 | 53 | ### Creating your Ark Wallet 54 | 55 | Your Ark Wallet is a unique address that will store your Ark. 56 | 57 | 1. Open the ArkClient. 58 | 2. Select "CREATE ACCOUNT". 59 | 60 | ![Imgur](https://i.imgur.com/oxNm2pc.png) 61 | 62 | 3. You will now be presented with your passphrase. It is **paramount** you copy it down as instructed. 63 | 64 | ![Imgur](https://i.imgur.com/faDT8nE.png) 65 | 66 | **WARNING:** As noted in the alert, *nobody* can recover your passphrase for you if it is lost. Not the Ark Staff, developers, or delegates. It is your responsibility to accurately copy and store it securely. This is the only key to your wallet. 67 | 68 | 4. You will now be prompted to verify the previously provided passphrase by entering the corresponding words. Enter them and select "CREATE". 69 | 70 | ![Imgur](https://i.imgur.com/xqW5vCr.png) 71 | 72 | 5. Congratulations! You now have your very own Ark Wallet. It's that easy! 73 | 74 | ![Imgur](https://i.imgur.com/N5fDy9b.png) 75 | 76 | ___ 77 | 78 | #### Identifying your Ark Wallet Address 79 | 80 | Your Ark Wallet address is presented to you at the top of the client, under 'Address' and to the right of the *Copy* icon. This address is 100% unique to your wallet. You will need this address in the future to send Ark to your wallet. You can automatically copy is by simply clicking on it. 81 | 82 | ![Imgur](https://i.imgur.com/AlPhwoa.png) 83 | 84 | ___ 85 | 86 | 87 | ### Sending Ark to your Ark Wallet (*from an exchange*) 88 | 89 | Your Ark Wallet stores your Ark for you. In order to interface with Ark you need to add some to your wallet. 90 | 91 | 1. First you will need to buy some Ark, which is available across many exchanges today and growing regularly. You can find a list of exchanges here: 92 | 93 | 94 | 95 | 2. Once you've purchased some Ark via an exchange you will be ready to send your Ark to your Ark Wallet. 96 | 97 | ![Imgur](https://i.imgur.com/IZ7PWYR.png) 98 | 99 | 3. In this example we are withdrawing from Bittrex. Each exchange is unique in its own way, but withdrawing will generally follow the same steps. Click on the '-' icon in Bittrex to begin your withdrawal. 100 | 101 | ![Imgur](https://i.imgur.com/zp0zKHG.png) 102 | 103 | 4. You will be presented with a 'Confirm Ark Withdrawal' page. Enter your Ark Address to your wallet (simply click on the address in your Ark Desktop Application, within your wallet) and paste. Then, enter the amount of Ark you'd like to send to your Ark Wallet. Then select "Withdrawal", and "Confirm" the transaction. 104 | 105 | [Imgur](https://i.imgur.com/vqYrwRJ.png) 106 | 107 | **Note:** Bittrex, like many exchanges, will send you an email that you need to open and select a link in to confirm the transaction. This is a typical security measure most exchanges perform. 108 | 109 | 5. Your Ark will be sent on it's way to your Ark Wallet! You will soon be able to see your new Ark balance in the Ark Desktop Application! 110 | 111 | ![Imgur](https://i.imgur.com/HGIG9pu.png) 112 | 113 | ___ 114 | 115 | ### Sending Ark from your Ark Wallet 116 | 117 | Now that your have a balance of Ark in your wallet, you may want to send it out. Someone may want to send Ark to another Ark Address for any number of reasons, perhaps you want to sell your Ark, pay for a good or service, or donate Ark to the Ark Community Fund. Sending Ark is quick & easy. 118 | 119 | 1. Within your Ark Desktop Application and within your wallet, you will see an arrow pointing to the right in the top right hand corner of the Ark Address box. This is the send icon. Select it. 120 | 121 | ![Imgur](https://i.imgur.com/YI4EztD.png) 122 | 123 | 2. Now you are in the send box. The 1st line you see will be the Ark Address line you are *sending* your Ark to. To the left of the line is a QR Scan function. If you click it (and have a web cam hooked up to your computer) you will be able to scan the QR code of the Ark Address you wish to send to and the address will automatically propagate to the Ark Address line. Otherwise you will simply copy and paste the address you're sending to. 124 | 125 | ![Imgur](https://i.imgur.com/ozzPeL6.png) 126 | 127 | 3. The next line is the amount of Ark you wish to send. If you'd like to send you're entire balance select the "SEND ALL" option and your entire balance will propagate to that line. 128 | 129 | 4. Smartbridge data is not required. It can be used in specific and unique instances. Ignore it at this time. 130 | 131 | 5. The final line is where you will enter your passphrase. Your passphrase must be entered exactly as it was presented to you. It is all lower case, 12 words, 1 space between each word, and no space at the end. 132 | 133 | 6. When you're ready to send select "NEXT". 134 | 135 | 7. You'll now see a Transaction box, confirm all information is correct and select "SEND NOW". 136 | 137 | ![Imgur](https://i.imgur.com/k9l1oKy.png) 138 | 139 | 8. All done! Your Ark is on its way to its destination address! 140 | 141 | ___ 142 | 143 | ### Voting with your Ark Wallet 144 | 145 | Voting or otherwise known as staking your Ark has several purposes. By voting for a delegate you help secure the Ark network (most importantly), and the lure of voting is that most delegates provide an incentive for voting for them by rewarding you with Ark on a periodic basis (amount and how often paid differs between delegates). Some think of this as interest earned for their Ark. 146 | 147 | Each delegate is unique and brings different skill sets to the Ark Ecosystem, so before voting for who you think should be entrusted with securing the Ark network you should conduct your due diligence and research the delegates. More information about the delegates and frequently asked questions regarding voting and delegates can be found in the [Frequently Asked Questions](#FAQ) and [Appendix/Useful Links](#appen) section towards the bottom of this User Guide. 148 | 149 | 1. Within your Ark Wallet you wish to Vote with, select the "VOTES" tab, located directly beneath your wallet address box. 150 | 151 | ![Imgur](https://i.imgur.com/c6ilspm.png) 152 | 153 | 2. You will now see a blue box that says "VOTE" within it, select it. 154 | 155 | 3. A new box will appear labeled "Vote". The first selection is a drop down labeled "Active delegates (forging)". Select it. 156 | 157 | 4. You will now see a list of the top 51 delegates that are currently forging Ark. (*learn more about what this means in FAQ*) 158 | 159 | ![Imgur](https://i.imgur.com/AOWHMvV.png) 160 | 161 | 5. For the sake of example we are selecting delegate "arkland". Input your passphrase on the next line and select "NEXT". 162 | 163 | ![Imgur](https://i.imgur.com/mYmxxGc.png) 164 | 165 | 6. In the next window you will be prompted to send Ark in order to vote, this is a voting fee required that may change over time. When you're ready to vote for your selected delegate select "SEND NOW". 166 | 167 | 7. You will now see within the "Vote" tab your delegates rank (within top 51, for this example arkland is # 19), your delegates name, their wallet address, their approval and productivity. You will also see an "UNVOTE" option which will be reviewed in the next section. You are now voting/staking your Ark for your selected delegate. 168 | 169 | ![Imgur](https://i.imgur.com/L13Ha4x.png) 170 | 171 | ___ 172 | 173 | ![Imgur](https://i.imgur.com/iANRMHt.png) 174 | 175 | ___ 176 | 177 | 178 | ### Unvoting a delegate 179 | 180 | If your delegate is not contributing to the Ark community in a way he/she had promised, isn't paying their voters, or maybe a different delegate simply seems more attractive to you, you may wish to unvote your delegate. 181 | 182 | 1. Within the "VOTES" tab in your wallet you will see the current delegate you are voting for. To the far right you will see "UNVOTE", select it. 183 | 184 | 2. A window will appear labeled "Remove Vote". Below that you will see your delegates name. On the next line input your passphrase. Select "NEXT". 185 | 186 | ![Imgur](https://i.imgur.com/kYOATgj.png) 187 | 188 | 3. You will now be prompted to send the required Ark fee in order to unvote your delegate. Select "SEND NOW". 189 | 190 | 4. You will now notice your delegates name is no longer within the "VOTES" section. You have unvoted your delegate. 191 | 192 | ___ 193 | 194 | ### Various functions & featues within the ArkClient/Desktop Application 195 | 196 | The ArkClient/Desktop Application offers a myriad of functions and features for the user to explore and utilize. This User Guide will cover and explain some of the features most often used by the average user. 197 | 198 | #### Appearance 199 | 200 | You may change the background or theme in your ArkClient to fit your personal style and flavor. 201 | 202 | 1. From the homescreen or within your wallet the ribbon along the top of the client remains stationary. There is a gear icon for settings. Select it. 203 | 204 | ![Imgur](https://i.imgur.com/oknZKq1.png) 205 | 206 | 2. A dropdown list will appear, you will see "APPEARANCE" at the bottom. Select it. 207 | 208 | 3. You will be presented with multiple options to suit your preference. Select one, and when you're done select "SAVE". Your new background or theme will be set. 209 | 210 | ![Imgur](https://i.imgur.com/UXJZmZa.png) 211 | 212 | You may also choose to set a background picture from your personal selection of pictures. 213 | 214 | 1. From the homescreen or within your wallet the ribbon along the top of the client remains stationary. There is a gear icon for settings. Select it. 215 | 216 | ![Imgur](https://i.imgur.com/oknZKq1.png) 217 | 218 | 2. A dropdown list will appear, you will see "APPEARANCE" at the bottom. Select it. 219 | 220 | 3. At the bottom left you will see an option, "ADD CUSTOM", select it. Now, navigate to the photo you wish to load into ArkClient. Select it and select "OPEN". 221 | 222 | 4. Scroll up to the top of the background/theme selections. Your custom photo will be there. Select it, then select "SAVE". Your custom photo is set. 223 | 224 | 225 | ___ 226 | 227 | #### Renaming your Ark Wallet 228 | 229 | Instead of your Ark Wallet Address displaying on the homescreen of the ArkClient you can choose to rename/relabel your Ark Wallet to what you wish. A couple reasons for wanting to rename your Ark Wallet could be you have multiple wallets and wish to easily distinguish between them, or perhaps you have different wallets for different purposes. 230 | 231 | 1. Select the wallet you wish to give a new label. 232 | 233 | 2. At the top right corner of your Ark Wallet Address box you will see 3 vertical dots. Select it. 234 | 235 | ![Imgur](https://i.imgur.com/x6d01DL.png) 236 | 237 | 3. You will notice a new ribbon of options appear at the bottom of your ArkClient. Select the "LABEL" option. 238 | 239 | ![Imgur](https://i.imgur.com/CDmJYvd.png) 240 | 241 | 4. A new box will appear titled "Label". You will see your current Ark Address prefilled on the line. Overwrite it with what you wish to name your wallet. When you're done, select "SET". (*don't worry, this doesn't 'delete' your Ark Address.*) 242 | 243 | 5. You will now see your wallet renamed to whatever you set it as. In this example we labeled it "My Main Wallet". 244 | 245 | **Note:** This new label can only be seen by you in your ArkClient. 246 | 247 | ![Imgur](https://i.imgur.com/5LwiPOR.png) 248 | 249 | 6. If you navigate to the ArkClient homescreen (by selecting "Ark Client" in the upper left hand corner) you will also see the newly labeled wallet there. You have completed Renaming your Ark Wallet. 250 | 251 | ___ 252 | 253 | #### Adding a second passphrase 254 | 255 | You can add a second passphrase to your Ark Wallet for an added layer of security. You may want to do this if you have a large amount of Ark or if you believe somebody else may know your first passphrase (or most of it). 256 | 257 | **Note:** By adding a second passphrase you will be required from that point forward to use both your first and second passphrase to send transactions. You cannot remove the second passphrase once it is added and it is just as important to keep safe and kept secure as your first. This is usually not advised for the average user. 258 | 259 | 1. At the top right corner of your Ark Wallet Address box you will see 3 vertical dots. Select it. 260 | 261 | ![Imgur](https://i.imgur.com/x6d01DL.png) 262 | 263 | 2. You will notice a new ribbon of options appear at the bottom of your ArkClient. Select the "SECOND PASSPHRASE" option. 264 | 265 | ![Imgur](https://i.imgur.com/elDLZXw.png) 266 | 267 | 3. A warning box will appear advising you it will cost you 5 Ark to add a second passphrase. Select "CONTINUE". 268 | 269 | 4. A new window titled "Create Second Passphrase" will appear. The warning to copy your passphrase exactly will also be present, and below that will be your second 12 word passphrase. Copy it down exactly and verify you have done so. Select "NEXT". 270 | 271 | 5. The next window titled "Create Second Passphrase" will ask for your first passphrase and your new second passphrase. Input them and select "CREATE". 272 | 273 | ![Imgur](https://i.imgur.com/xtefgQh.png) 274 | 275 | 6. The next window will provide transaction details. To add the second passphrase select "SEND 5 ARK NOW". 276 | 277 | 7. Your second passphrase has been added to your wallet. 278 | 279 | ___ 280 | 281 | 282 | #### Remove wallet from Client 283 | 284 | You may want to remove a wallet from the ArkClient if you have multiple wallets and you have some wallets you don't use anymore, or you're using a shared computer and don't want your wallets information to populate for when the next user opens ArkClient. Removing a wallet is easy and will **not** delete your wallet and it's contents. You can learn how to re-import your removed wallet in the next section. 285 | 286 | **Note:** If you remove your wallet from the client and later import that wallet back, any previously added labels will be gone. 287 | 288 | 1. At the top right corner of your Ark Wallet Address box you will see 3 vertical dots. Select it. 289 | 290 | ![Imgur](https://i.imgur.com/x6d01DL.png) 291 | 292 | 2. You will notice a new ribbon of options appear at the bottom of your ArkClient. Select the "REMOVE" option. 293 | 294 | ![Imgur](https://i.imgur.com/I3ZhmLN.png) 295 | 296 | 3. A box will appear titled "Remove Account (your-ark-address)". Select "REMOVE ACCOUNT". 297 | 298 | 4. You wallet is now removed from that ArkClient. 299 | 300 | ___ 301 | 302 | #### Import Account 303 | 304 | You may want to import an account if you're on a new computer, newly downloaded ArkClient, or if you previously removed your wallet from the client. 305 | 306 | 1. On the ArkClient homescreen select "IMPORT ACCOUNT". 307 | 308 | 2. A box titled "Import Account" will appear and ask for your passphrase. 309 | 310 | 3. Input your passphrase and select "IMPORT". 311 | 312 | 4. Your wallet is now imported into the ArkClient. 313 | 314 | ___ 315 | 316 | ### Export Account 317 | 318 | You may want to Export your account to keep track of the data within your wallet in a separate text file or there may be a program that will utilize the data and interpret it for you. The ArkClient will export your 319 | account in a .csv file (commonly known as a flat file). 320 | 321 | 1. At the top right corner of your Ark Wallet box you will see a downward facing arrow to a horizontal line. When you hover your cursor over it it will display "Export Account". Select it. 322 | 323 | 2. A new window will appear titled "Export account". You will be prompted to select a start and end date to choose the range of transactions to be included in your export file. Choose your range and select "START EXPORT". 324 | 325 | 3. The next window will appear and show you how many transactions were included in your export. 326 | 327 | 4. Select "DOWNLOAD FILE". The default file name will be your Ark Wallet Address. Select where you'd like to save your file and save. You have exported your account. 328 | 329 | ___ 330 | 331 | #### Timestamp a File 332 | 333 | With the ArkClient you can timestamp a file on the Ark Blockchain. ArkClient will hash the file with SHA256. Hashing provides a unique string of characters based on the data within the file (does not include meta data). If so much as a period is removed from the file (in a text document for instance) the unique string will be vastly different. This provides proof of authenticity for the file and the timestamp provides the instance in time existed exactly as it is. This data being written to the Ark Blockchain provides immutable proof of a documents authenticity. 334 | 335 | ![Imgur](https://i.imgur.com/Xt5Abn3.png) 336 | 337 | 1. At the top right corner of your Ark Wallet Address box you will see 3 vertical dots. Select it. 338 | 339 | ![Imgur](https://i.imgur.com/x6d01DL.png) 340 | 341 | 2. You will notice a new ribbon of options appear at the bottom of your ArkClient. Select the "TIMESTAMP DOCUMENT" option. 342 | 343 | ![Imgur](https://i.imgur.com/0Ijop1i.png) 344 | 345 | 3. A new box will appear titled "Timestamp Document On (wallet address)". Select "OPEN FILE" to be hashed and timestamped and select your file. Input your passphrase and select "NEXT". 346 | 347 | ![Imgur](https://i.imgur.com/9DG3y0i.png) 348 | 349 | 4. On the next screen transaction details will be provided. Select "SEND NOW" to complete. 350 | 351 | 5. You'll notice within your wallet transactions the SHA256 hash in the Smartbridge column, and the time & date it was committed to the blockchain in the Date column. Timestamp document complete. 352 | 353 | ![Imgur](https://i.imgur.com/qCWnxO1.png) 354 | 355 | *More about hashing and timestamping can be found in the [FAQ](#FAQ) & [Appendix/Useful Links](#appen) sections of this User Guide.* 356 | 357 | ___ 358 | 359 | #### Different settings within ArkClient/Desktop Application 360 | 361 | ##### Currency 362 | 363 | ArkClient is automatically set to USD. If you want the ArkClient to display Arks current exchange rate with your preferred currency (if available) you can change it so it appears by default on the homescreen and within your wallet. 364 | 365 | 1. From the homescreen or within your wallet the ribbon along the top of the client remains stationary. There is a gear icon for settings. Select it. 366 | 367 | ![Imgur](https://i.imgur.com/oknZKq1.png) 368 | 369 | 2. A dropdown list will appear, you will see "CURRENCY" and a dropdown to the right of it defaulted on "USD". 370 | 371 | 3. Select the dropdown and choose your currency of preference, then click out of the dropdown box. 372 | 373 | 4. Your selected currency is now set as the default currency. 374 | 375 | ____ 376 | 377 | ##### Price 378 | 379 | You can view the current price each Ark is trading for on your homescreen, it will be displayed as your set currency rate. Price changes are also provided by 1 hour, 24 hour, and 7 days % change increments. 380 | 381 | The price is retrieved from 382 | 383 | ![Imgur](https://i.imgur.com/Jjw61rl.png) 384 | 385 | ___ 386 | 387 | ##### Language 388 | 389 | ArkClient is automatically set to English as the default language. You can change this to your preferred language in settings. 390 | 391 | 1. From the homescreen or within your wallet the ribbon along the top of the client remains stationary. There is a gear icon for settings. Select it. 392 | 393 | ![Imgur](https://i.imgur.com/oknZKq1.png) 394 | 395 | 2. A dropdown list will appear, you will see "LANGUAGE" and a dropdown to the right of it defaulted on "ENGLISH". 396 | 397 | 3. Select the dropdown and choose your language of preference. 398 | 399 | 5. Your selected language is now set as the default language and the ArkClient will reflect it. 400 | 401 | ___ 402 | 403 | #### Add Contacts 404 | 405 | You may want to Add Contacts within your ArkClient to easily identify owners of wallets that you interact with. This will also make that wallet more readily available for you to interact with and provide some transaction data. 406 | 407 | 1. For the contact you wish to identify you will need to have their wallet address copied. 408 | 409 | 2. With your wallet open you will see on the left hand side of the ArkClient "+ ADD CONTACT". Select it. 410 | 411 | 3. A new window will appear titled "Add Contact". On the first line input the name you wish to identify that wallet as. On the second line paste the wallet address you have copied. Select "ADD". 412 | 413 | 5. You will now see that contact added on the left hand side of the ArkClient. If you hover your cursor over the "i" (information) icon within that contact you can see transactions between you and that wallet/contact. You have completed Add Contacts. 414 | 415 | ![Imgur](https://i.imgur.com/1d68aU8.png) 416 | 417 | ___ 418 | 419 | 420 | #### Frequently Asked Questions 421 | 422 | *Q: What happens if my ArkClient/Desktop Application gets deleted/uninstalled? Do I lose all my Ark?* 423 | 424 | **A: No. You simply need to reinstall the ArkClient and [re-import](#import) your wallet using your passphrase.** 425 | 426 | *Q: What happens if I lose my passphrase? Is there any way to recover it?* 427 | 428 | **A: No. This cannot be stressed enough, it is your responsibility to correctly copy down your passphrase and secure it to the best of your ability. If your passphrase is lost your wallet cannot send transactions and there is nothing the Ark Staff, developers or delegates can do to help you.** 429 | 430 | *Q: If I added a second passphrase to my wallet can I still send transactions if I lost my second passphrase? Is there a way to remove the second passphrase?* 431 | 432 | **A: If you do not know your second passphrase you will not be able to send transactions. The second passphrase is just as important as your first passphrase. However, you will be able to import your wallet with just your first passphrase and view it. But you will not be able to use the Ark in it without the second passphrase.** 433 | 434 | *Q: How long does it take to transfer Ark to/from an exchange?* 435 | 436 | **A: The time it takes to send Ark to/from an exchange may vary depending on how busy that exchange is. If an extensive amount of time has lapsed (days, although this should not happen) you may want to contact a delegate to assist you.** 437 | 438 | *Q: If I am already voting for a delegate and I add more Ark to my wallet, do I need to revote for the delegate for that Ark to count?* 439 | 440 | **A: No. Most delegates check your wallet weight on every block they forge.** 441 | 442 | *Q: How fast are Ark blocks forged?* 443 | 444 | **A: A block is forged every 8 seconds. Each block forged creates 2 Ark.** 445 | 446 | *Q: What does "top 51" delegates mean? Are there more delegates?* 447 | 448 | **A: Only the top 51 delegates with the most votes are allowed to forge/validate/secure the Ark Network. It is up to the community to keep the most trusted/honest delegates in charge of doing so. This creates a democracy of sorts, giving power to the Ark holders.** 449 | 450 | *Q: Can I vote for 2 delegates at the same time with 1 wallet?* 451 | 452 | **A: No. You can only vote for 1 delegate with each wallet. 1 Ark = 1 Vote for 1 Delegate. This system ensures individuals with large amounts of Ark cannot act maliciously by voting for multiple delegates with one wallet.** 453 | 454 | *Q: When can I expect payment from my delegate?* 455 | 456 | **A: Payment from your delegate depends on various things like the amount of Ark you're staking and their payout frequency and minimum payout amount. You can learn more about this in the delegate proposals subreddit. Link provided in [Appendix](#appen).** 457 | 458 | *Q: If I am voting for a delegate can I still send or use my Ark or is it ‘locked’ up? Do I keep my Ark when I vote?* 459 | 460 | **A: Your Ark is not given away to the delegate nor is it locked up. It is still your Ark and you can do with it what you wish.** 461 | 462 | *Q: Does my wallet need to be open and running for my vote to count and collect payout?* 463 | 464 | **A: No, your ArkClient does not need to be running. Simply vote for your delegate and your vote counts.** 465 | 466 | *Q: Will timestamping my file make it viewable to others that explore the blockchain?* 467 | 468 | **A: No, your timestamped document is not viewable to others. However, the transaction is viewable to everyone. If someone is viewing your wallet they will be able to see the transaction. (date, and hash in the Smartbridge data, but the hash is useless to them, they cannot decrypt it.)** 469 | 470 | *Q: By adding a contact and assigning a name, will others also see that name I've given them?* 471 | 472 | **A: No, the name you assign a wallet is unique to you and only you see it that way.** 473 | 474 | 475 | ___ 476 | 477 | #### Appendix/Useful Links 478 | 479 | Official Ark Site - 480 | 481 | Ark Delegate Monitor - *This provides forging data on the delegates currently forging.* 482 | 483 | Ark Slack Invite - *Slack is a great tool to interact with the Ark Community, delegates, developers and Ark Staff.* 484 | 485 | Official Ark Reddit - 486 | 487 | Official Ark Delegate Reddit - 488 | 489 | Official Ark Trader Reddit - 490 | 491 | CoinMarketCap - *View different cryptocurrency statistics. This is where the price in the ArkClient for Ark is derived from.* 492 | 493 | SHA256 Hasher - *Feel free to use this to verify and test ArkClient hashed your document the way it should with [Timestamp Document function](#timestamp).* 494 | 495 | The Official Ark handle on Twitter is: @ArkEcosystem 496 | 497 | The Official Ark page on Facebook is: ARK.IO , @ArkEcosystem. (beware of fake Ark Facebook accounts). 498 | 499 | ___ 500 | 501 | User Guide written by: 502 | 503 | Slack name: cam 504 | 505 | GitHub name: cambo666 506 | 507 | ---------------- 508 | [contributor information](./assets/info.md) 509 | --------------------------------------------------------------------------------