how to interact directly with smart contract