You can only stake with your wallet connected to the network. It must remain open. If you mint a block and it is accepted by the network and close your wallet, it will confirm once your re-sync with the blockchain but you wont generate any new blocks unless you leave your wallet open.
how long to stake? for example i have 100 grwi in my wallet and start staking, how long to get 1 grwi reward?
It takes 8 hours for the coins to mature but after that there is no set time frame to stake. It is based on your total wallet weight against the network weight. Both of which constantly change.