implement remaining eth methods, which need testing. abstract away RPC functionality. RPC now only needs client/server/service; client defines serviceId, constructor, and api (interface); server defines serviceId, constructor, and receiveMessage; service exposes interface.