I was working with constant variables in a contract <br/> contract X{ uint constant var1=now; uint var2=now; function checkConstant() returns(uint,uint){ return (var1,var2); }} I was wondered each time I call `checkConstant(..)` , the return value of `var1` was different but value of `var2` was same.<br/> So, I do not understand when I declare a variable as constant why it gets initialised each time a function is invokend, ideally it should get an initial value at time of contract deployment and maintain this value throughout life of contract.