You could modify Conseil in order to support the extraction of voting related info.
Another approach is to use the tzscan codebase, which also fills a database with information from the Tezos node.
Last but not least, you can use RPC calls to /chains/main/blocks/head/context/raw/json/.. to explore the raw context for every block.
What we do for TezRPC (which powers TezBox) is run a proxy on each server. Within this proxy, you can then block, restrict and customize public facing endpoints.
We currently use a light proxy built with NodeJS, but will switch over to a nginx style proxy (better performance).
Here is an example of a node.js proxy that blocks almost all endpoints (...
don't expose the RPC at all (!), or
put a proxy in front with a maximally restrictive whitelist.
Of course, for a whitelist to help, you must not include potentially harmful endpoints in your whitelist... Even seemingly harmless endpoints might be used for denial of service, and some endpoints are surprisingly harmful.
Conseil is software that provides this functionality. Alongside ConseilJS you can easily use this with your applications. Here is a full article regarding Conseil. And you can view the GitHub repo here.
When you only need the RPC for yourself you could also use ssh local port forwarding to forward the RPC from the localhost of your remote machine to the localhost of your local machine.
For instance, as a background process:
ssh -fNT -L 8732:localhost:8732 user@hostname
I don't know how safe this is though.
One of the alternatives i could think of, is using Conseil:
In my humble understanding what Conseil does, is provide an extended API on top of a tezos-node/rpc. And perhaps (?) some extra features which could allow enabling/disabling endpoints or other security measures.
Here's a few examples
I cannot answer all your questions but at least, I can say that, in SmartPy.io, the storage sent to ConseilJS is the content of the tab "Storage" (in either Michelson or Micheline formats) and the code is similarly the content of one of the corresponding tabs.
Depending on the form you're using, you need to set Michelson or Micheline (the latter is quite ...
In 005-Babylon, fitness became a monotonically increasing number, simply representing the height of the block. Fitness is no longer calculated based on the number of endorsements within the block.
"confirmations" is simply the level of the current head block minus the level of the block with your transaction.
If you want to mess with fitness still, treat ...
There is https://github.com/baking-bad/netezos, a .NET Standard 2.0 library for working with Tezos. You can easily use it to interact with Tezos node via RPC, manage keys (it also supports Ledger), forge and send operations, etc.
This library is actively developing (by the way, mscappini, author of Tz.Net, is also working with us on Netezos v2) and soon we ...
Conseil isn't using a Tezos RPC for this. Conseil is an indexing service that is monitoring all blocks and stores data about them in a database. The conseil API then queries this database.
The only way to get the block from an operation hash is to examine the blocks and see which one has the operation you are interested in. So long as your application will ...
You should probably use the Micheline / JSON version created by SmartPy.io.
This is what is actually sent from SmartPy.io.
You also need to change the conseiljs.TezosParameterFormat.Michelson parameter into conseiljs.TezosParameterFormat.Micheline.
There is no pip package but this is clearly on the table.
You can use print to print in the console and alert to show a popup.
If you want to debug a scenario, scenario.show and scenario.simulation are probably better tools.
You can also use SmartPy.sh compile
A contract call doesn't return anything. Views are discussed currently. What you can do is query ...