Both getwork and getblocktemplate are implemented, but neither is
precisely the same as in Bitcoin. getwork is very similar, but returns
a non-int32 reversed byte string to work off of. The ‘data’ field
refers to the properly padded blake256 input of 3x64 byte chunks. Only
the last chunk needs to be modified when mining.

Mining is performed by incrementing the nonce until the block
header is below the target. ExtraData is allowed to be used as an
extra nonce for fast hashing devices like ASICs, but a soft fork
may change this at some point (to allow it to be used for other
consensus data structures).