*Paid Advertisement. Not financial advice. RugDoc is not responsible for the projects showcased here. DYOR and ape safu.

Remote Call Procedure (RPC)

A Remote Procedure Call (RPC) is a simple and popular paradigm for implementing the client-server model in a distributed system. An RPC is initialized by the requester (client) who sends a message, or request message, to a server to have a certain procedure performed there using the supplied arguments. After completing the procedure, the server sends a reply message or reply back to the client. There are several variations of this method, resulting in multiple (incompatible) RPC protocols.

Interface Description Language #

To make servers accessible to different client machines, a number of standardized RPC systems are necessary. In this way one can make abstraction of platform-specific differences, or one can let programs in several programming languages communicate with each other.

Overview of an RPC system #

The communication between the various parties in an RPC system is preferably as transparent as possible. This means that the developer can write code for procedures that will be executed on another machine, without knowing the details of the communication behind it.

To realize the communication between the client and the server, various RPC systems and programming languages use stubs or proxy objects. When a remote procedure is called, it is handled by the client stub, just as a local procedure would be called in separate code. However, instead of doing the procedure itself, the stub will compose a message and send it to the server. On the server, this message is then received by a server stub, which extracts the message, passes the variables and calls the appropriate function in the server. The result is then given back to the server stub, which in turn sends it back to the client stub. This unpacks the message and passes the result in the same way as if the procedure had been performed locally. Stubs are usually generated from the IDL description of the interface.

Ethereum #

Ethereum makes use of a so called JSON RPC, which is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs. Primarily this specification defines several data structures and the rules around their processing. It is transport agnostic in that the concepts can be used within the same process, over sockets, over HTTP, or in many various message passing environments. It uses JSON (RFC 4627) as data format.

Updated on August 9, 2021
How do you feel about this article?

Leave a Reply

*Paid Advertisement. Not financial advice. RugDoc is not responsible for the projects showcased here. DYOR and ape safu.

Our mission here at RugDoc is to screen for hard rug code that results in 100% theft of ALL underlying funds for ALL participants.

This is the ONE part of the due diligence process that most people cannot simply do on their own as it costs thousands of dollars to hire a senior solidity developer to look over a farm for safety.

A project coin with terrible code can go up in price, and a project with good code and a good team can also go down in price.

Do NOT use our ratings to refer to your likelihood in making money if you invest in the project. They are ONLY in reference to code safety.

Everything else beyond code safety is YOUR responsibility to go do research on. We just make sure the casino you’re betting in won’t rob you before you even get to place a bet.

Our reviews for projects are organized into a few colors.

🟢 Least Risk
These projects are the least likely to hard or soft rug. Usually reserved for cornerstone projects of an ecosystem where it makes no financial sense for them to rug in any manner as they make more money just being legit.

🔵 Low Risk
These projects are usually established projects in an ecosystem that have a track record of success or have KYC’d to us or other authoritative sources in the real world. As a result, it is extremely unlikely for them to soft rug or hard rug their projects. The projects can still fail and the token price can go down, but usually more as a result of natural market forces.

⚪️ Some Risk
This is the default rating for projects with unknown teams but have code that is unlikely to have hard rug risk. Since the team is unknown and doesn’t have a track record of success, it’s entirely possible that they may try to soft rug by dumping tokens, abandoning the project, etc. Even a last minute contract swap to a malicious contract is possible. The only thing that is unlikely is a complete hard rug as long as you are 100% sure you deposit into the contract we review.

🟠 Medium Risk
Similar to Some Risk, but the underlying code itself is custom enough or complex enough that it warrants an elevated risk rating that needs deeper research. Make sure you read every point presented to make sure you’re comfortable with that before entering. Still unlikely to hard rug, but more chances of custom code behaving incorrectly and causing other issues.

🔴 High Risk
Project contains code or practices that are HIGHLY LIKELY to lead to catastrophic losses as they are right now. Make sure you read the description carefully as we will always warn what these issues are. If you see the words Hard Rug anywhere in the review, STAY FAR AWAY!

⚫️ Not Eligible
We reserve the right to not review exceedingly complex projects that would require tens of thousands of dollars of senior security analyst man hours. Typically these are projects that deal with leverage, lending, options, derivatives, and anything that is overly complex and which requires tons of peer reviews and audits from top audit companies.

Search

🟢 For owners who have made impactful changes and would like an update to their farm review:

1️⃣ Use #update at @RugDocChat with your description and proof of changes and it will be forwarded to our scanners.

2️⃣ This does not guarantee a change in your review.

3️⃣ Owners who have difficulty solving the issues can consider our Consultation Package - please contact @BaymaxCrypto on Telegram to discuss.