Application implementing the minimum clique of AssetMantle modules enabling interNFT definition, issuance, ownership transfer and decentralized exchange.
- Minimal
- 1 GB RAM
- 50 GB HDD
- 1.4 GHz CPU
- Recommended
- 2 GB RAM
- 100 GB HDD
- 2.0 GHz x2 CPU
NOTE: SSDs have limited TBW before non-catastrophic data errors. Running a full node requires a TB+ writes per day, causing rapid deterioration of SSDs over HDDs of comparable quality.
- Linux/Windows/MacOS(x86)
- Recommended
- Linux(x86_64)
https://github.com/AssetMantle/node/blob/AssetMantle/BugBounty/.jmeter/SuccessfulFlow.jmx contains the jmeter script used for testing
Please note that the IP and PORT are set to your localhost by default, to use it on testnet, change each protocol from http to https and IP to restnet.testnet.assetmantle.one, PORT should be blank.
You may try different types of inputs and record any failures that are unexpected, each request shows the exact body required to carry out transactions, please feel free to send them separately as POST requests if required
the FAUCET request in jmeter requires a running node which can carry out a simple send tx, you can use https://testnet.faucet.assetmantle.one/{address}
Prerequisite: go1.14+ required. ref Prerequisite: git. ref Optional requirement: GNU make. ref
- Clone git repository
git clone https://github.com/AssetMantle/node.git
- Checkout release tag
git fetch --tags
git checkout [vX.X.X]
- Install
cd AssetMantle/node
make install
https://github.com/AssetMantle/node/blob/master/.script/setup.sh can be used to setup the chain, afterwards you just need to run it The following steps are for those who wish to use CLI commands directly to run the chain
mantleNode keys add [key_name]
or
mantleNode keys add [key_name] --recover
to regenerate keys with your BIP39 mnemonic
- Initialize:
mantleNode init [node_name] --chain-id [chain_name]
- Add key for genesis account
mantleNode keys add [genesis_key_name]
- Add genesis account
mantleNode add-genesis-account [genesis_key_name] 10000000000000000000stake
- Create a validator at genesis
mantleNode gentx [genesis_key_name] 10000000stake --chain-id [chain_name]
- Collect genesis transactions
mantleNode collect-gentxs
- Start node
mantleNode start
rm -rf ~/.mantleNode
killall mantleNode
mantleNode version
Please go through all JMeter transactions carefully, they explain the whole flow and show how requests are to be sent
AssetMantle/node/.rest and AssetMantle/node/.run contain sample rest requests and run configurations for the project
mantleNode tx [module_name] --help can be used to find all possible transactions for a given module
Modules are all available under AssetMantle/modules/modules
All the transaction messages and request formats are available under AssetMantle/modules/modules/[module_name]/internal/transactions/[transaction_name]
They can be used to check which inputs are required for each transaction
Make sure you have latest docker version, Docker for mac can be slow. Recommend using linux
Start node and client
# port 26657 and 1317 are exposed
make docker-compose
make docker-clean