ivicanikolicsg / MAIAN

MAIAN: automatic tool for finding trace vulnerabilities in Ethereum smart contracts
MIT License
555 stars 157 forks source link

Maian Tool Repository on Docker: How to store contract retrieved from etherscan.io and what is ‘test.sol’ #36

Open zak100 opened 3 years ago

zak100 commented 3 years ago

Hi,

I tried to execute the MAIAN tool on docker as suggested on the following link: https://github.com/ivicanikolicsg/MAIAN/issues/26

They provided details of how to execute the MAIAN tool from docker. I am in the MAIAN tool repository on docker. They have first tried to access the contract from docker:

https://etherscan.io/address/0xf3586684107ce0859c44aa2b2e0fb8cd8731a15a#code

The name of the contract is KaratBankCoin. They have not told where to store (or save) the contract on the repository.

Later on they used the command:

python maian.py -c 2 --soliditycode test.sol KaratBankCoin

Here both test.sol and KaratBankCoin are not in the repository so I am getting the error :

==================================================================================================== [ ] Compiling Solidity contract from the file test.sol ... [-] Contract file test.sol does NOT exist [-] Contract KaratBankCoin does NOT exist

Because I don’t know what is test.sol and I don’t know how and where to store the KaratBankCoin contract retrieved from mainnet.

They have not provided any details about test.sol and how to store KaratBantCoin because we are in the Maian tool’s repository.

Somebody please guide me.

Zulfi.

gsalzer commented 2 years ago

test.sol is the Solidity source to analyze. Replace it by your source code. Since many source files contain several contracts, you have also to specify the name of the contract. Apparently, KaratBankCoin is a contract in test.sol.