If You want to test some features of existing blockchains, You should try their respective testnets (there are usually ones) as Lohan Spies
mentioned.
For instance, Bitcoin has its "Testnet", which is similar to the mainnet in manner of transactions structure, fee logic, scripts logic and infrastructure (third party scanners, RPCs, software libs etc) and in all other ways of user/developer experience.
Ethereum has also a full pack of testnets: ropsten, rinkeby, kovan, goerli. They differs from each other by their node's interaction logic, but are similar for blockchain users and DApp developers, so they have the same user experience, contracts behavior (written using solidity programming language) as ones on the Ethereum mainnet.
If You are considering path of existing blockchain usage, the first steps are to be the following:
- determine the blockchain, that is to be used;
- create testnet (Bitcoin case) or universal (Ethereum case) wallet - receive address and key pairs;
- get some testnet coins via "faucets" (coins are granted for free) by giving them Your wallet's address. You can find faucets by one of the search engines - don't worry sometimes they have funny interface and demanding proving that You are not a robot;
- try to interact with blockchain's testnet via respective services or apps.
If You would have further questions - please specify the blockchain You are considering to use - user experience is quite different for different blockchains, so this would help to provide You with better answers.
As I understand, the question was about testing parameters of Blockchain before it's creation. It would help with an optimization the blockchain for the specific task before creation the one.
Hi, I would say Hyperledger and Ethereum have the most metrics and parameters to play with these days. Or else you can opt to create your own blockchain in Python or any other language using your design parameters and then analyze their behavior.
Recently we have published this new Bitcoin simulator. The simulator is built on Docker technology to generate local testing network, and use the original Bitcoin reference implementation. https://github.com/noureddinel/core-bitcoin-net-simulator
If you are using ethereum methodology then for code or smart contract simulation is Solidity IDE. And if you are using randomly platform along with ethereum then SIM Block is best overall.
There are a number of Blockchain simulators and each with its specific features:
Bitcoin Testnet
Ethereum Testnet
IOTA Testnet
Hyperledger Testnet
SimBlock
BlockSim
MultiChain
Blockchain Demo
VIBES
Bitcoin Simulator
CryptoSpaniards Simulator
BLOCKBENCH
Developers have the ability to develop their own BC simulator using programming languages such as python or via other simulators like Matlab or NS3 network simulator.
Simulator BC using Game Theory or Queuing Theory.
please refer to the following papers:
A Survey on Applications of Game Theory in Blockchain
Simulation Model for Blockchain Systems Using Queuing Theory
Here you find e.g. the testnet of Ardor, which I used to build my game project on: https://testardor.jelurida.com/index.html
https://www.jelurida.com/ardor/downloads here you can download the full node and with a seperate link the testnet database (all transactions till now). When installing don't forget to click "testnet".
This is the learning hub for it: https://ardordocs.jelurida.com/Getting_started
According to your work. Best blockchain simulators or platforms are InterPlanetary File System (IPFS), Ethereum, and Hyperledger. I implemented my work using IPFS. IPFS, a Peer-to-Peer (P2P) swarm network. It allows the sharing and storing of data in an efficient, decentralized, and transparent manner.
Hi Khouloud Boukadi It varies depending on the purpose Blockchain (BC) is being used for. How a cryptocurrency transaction works can be seen simply signing up on the Bitcoin (BTC) or Ethereum (ETH) online platform. To customize ETH smart contracts (SC) to make sure if it serves a particular experiment goal, one needs to pay ETH Gas (network transaction fees) which can be demonstrated using Metamask Wallet (Browser extension). I have not run yet; however, some open-source simulating tools are available online; namely, SimBlock (https://dsg-titech.github.io/simblock) developed by TIT, Japan or BlockSim (https://github.com/maher243/BlockSim), etc. ETH facilitates developing private BC using Quorom (https://consensys.net/quorum) or Hydrachain (https://github.com/HydraChain/hydrachain). In line with that, IBM Hyperledger (HL) developed Caliper (https://hyperledger.github.io/caliper), a BC performance benchmarking for permissioned setup, i.e., BC performance benchmarking for HL Besu, Fabric, ETH, etc. Previously I run HLF Caliper to measure the performance of a BC implementation with a set of my predefined use cases (https://ieeexplore.ieee.org/document/9446684). As mentioned earlier, one single tool may not fulfill all the purposes we strive to do a test with. For example, one certainly needs High-Performance Computing (HPC) to test consensus (mining) algorithms, i.e., PoW, PoS, etc. However, if anyone is willing to set up a small BC network, BlockSim should be helping him out. Similarly, Caliper presents performance results, such as latency, scalability or delay overhead etc. Hope this helps. Zia, RMIT.