I read this example http://solidity.readthedocs.io/en/latest/solidity-by-example.html#simple-open-auction to learn how to let my smart contract recieve eth from external account. It seems that I need a simple payable function. So I wrote a contract with a simple payable function on Remix and test it with MetaMask (Ropsten Network), sending 1 eth from my external account to my contract. Failure, MetaMask tells me the contract throw an exception. So, I added to the contract a fallback function and tried again to send eth. It worked! But the example linked above doesn't tell me I need a fallback function, and I can't performe data storage (like store msg.value and msg.sender into variables) in a fallback function, cause it requires more gas that it can have!
Please, help me. I know it's a noob question but I can't figure out.
Thanks to everyone!