IPv6 I read somewhere that we can use the first and last ip address as host addresses in ipv6. Is it true?
Yes. IPv6 doesn't have broadcast, and all network addresses can be used by hosts.
There are a couple of caveats. There are some well-known anycast addresses. For example, the first IPv6 address in a network should be used for the router anycast address ("It is recommended to avoid allocating this IPv6 address to a device that expects to have a normal unicast address."), and the last 128 addresses in a network are subnet anycast addresses, but only one of those (Mobile IPv6 Home-Agents) has been defined. See RFC 5375, IPv6 Unicast Address Assignment Considerations.
In any case, you should use
/64 networks for everything but loopbacks (
/128) and point-to-point networks (
/127), and that will give you
18,446,744,073,709,551,616 addresses per network.