what does a blockchain developer do