kopia lustrzana https://github.com/bugout-dev/moonworm
				
				
				
			
		
			
				
	
	
	
		
			3.8 KiB
		
	
	
	
	
			
		
		
	
	
			3.8 KiB
		
	
	
	
	
What is moonworm?
Moonworm is a set of tools that helps you develop/analyze blockchain dapps. Pump your productivity to the Moon.
Tools:
- moonworm watch- Tool to monitor and crawl(index) decoded smart contract data. It gets you historic/on going smart contract’s decoded- eventsand- transactions. No sweat, just provide- abiand smart contract’s address and get stream of data. With this tool you can: analyze incidents, set up alerting, build datasets, write sniping bots, etc.
- moonworm generate-brownie- Brownie on steroids. Generate python interface and cli for your smart contracts in “one click”, focus on smart contract development,- moonwormwill do the rest. In addition, you will have syntax highlights which will boost your speed on writing tests.
- moonworm generate- cli/ python interface generator for pure- web3library. In case you prefer not to use- brownie
Setup:
pip install moonworm 
Usage:
moonworm watch:
moonworm watch --abi <Path to abi file> --contract <Contract address> --web3 <Web3 provider url> --start <Start block> --end <End block>    
Arguments:
- --abi/-i ABIPath to abi file
- --contract/-c CONTRACTContract address
- --web3/-w WEB3Web3 provider uri
- --start/-s STARTblock to start watching
Optional args:
- --end/-e ENDblock to stop crawling, if not given, crawler will not stop
- --poaFlag for- PoAnetworks, for example- polygon
- --confirmations CONFIRMATIONSNumber of confirmations to set for watch. (Default 12)
- --outfile/-o OUTFILE- JSONLfile into which to write events and transactions
- --dbUse Moonstream database specified by- MOONSTREAM_DB_URIto get blocks/transactions. If set, need also provide- --network
- -network {ethereum,polygon}Network name that represents models from db. If the- --dbis set, required
- --only-eventsFlag, if set: only watches events. Default=- False
- --min-blocks-batch MIN_BLOCKS_BATCHMinimum number of blocks to batch together. Default=100
- --max-blocks-batch MAX_BLOCKS_BATCHMaximum number of blocks to batch together. Default=1000 Note: it is used only in- --only-eventsmode
moonworm generate-brownie:
moonworm generate-brownie -p <Path to brownie project> -o <Outdir where file will be generated> -n <Contract name>
Arguments:
- --project/-p PROJECTpath to brownie project.
- --outdir/-o OUTDIROutput directory where files will be generated.
- --name/-n NAMEPrefix name for generated files
NOTE: For better experience put generated files in sub directory of your brownie project. As an example:
- 
cd myBrownieProject
- 
moonworm generate-brownie -p . -o generated/ -n MyContract- Run the generated cli of the contract: python3 generated/Mycontract.py -h
 
- Run the generated cli of the contract: 
moonworm generate:
moonworm generate --abi <Path to abi> -o <Outdir> --interface --cli --name <Prefix name for the generated files>
Arguments:
- --abi/-i ABIPath to contract abi JSON file
- --outdir/-o OUTDIROutput directory where files will be generated.
- --interfaceFlag to generate python interface for given smart contract abi
- -name/-n NAMEPrefix name for generated files
- --cliFlag to generate cli for given smart contract abi
FAQ:
- 
Ser, is it safe to use? Yes, it is. moonworm is a code generator that generates code that uses brownie/web3. 
- 
Ok ser, are there examples of usages? 
- 
But ser, I don’t write on python Javascript version (hardhat) is coming soon 
