timestamp default 0, for rpc