This project builds the Proton network in a local environment so that testing can be done before being published on the public network.
Having a local environment provides a series of benefits that you cannot in a public network, for example, with Proton locally, transaction costs are avoided since they are carried out in a development environment and not in production, also, they are accessed to system contracts to modify them as appropriate.
In a Blockchain network every transaction creates an immutable record and everything that is modified can affect both positively and negatively the users within it, it is for this reason that it is essential to have an environment premises where functionality tests, performance tests, stress tests, among others, can be carried out without the risk of producing a failure that affects users.
Finally, a factor to consider is the time that is reduced in the initial configuration of any network, this image allows directly, with only two commands to have the network installed and ready to perform functionality tests as necessary.
The Proton image is based on the eosio.proton
, token.proton
and cfund.proton
contracts for its governance configuration. Your code can be found at this link. Additionally, the following contracts are required as part of the full setup process:
- eosio.system: Provides the governance rules established by the Proton network.
- eosio.token: Defines the structures and actions that allow users to create, issue, and manage tokens for EOSIO-based blockchains.
- eosio.msig: Allows the creation of proposed transactions that require authorization from a list of accounts.
The preconfigured key is the eosio key that allows you to carry out the initial configuration of the network. You can consult it here.
EOSIO_PRIVATE_KEY: 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
EOSIO_PUBLIC_KEY: EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
- Download the Docker image
docker pull eoscostarica506/proton-local
- Run the Docker image
docker run -dp 8888:8888 eoscostarica506/proton-local
- Run the command
cleos get info
or check the link in the browserhttp://127.0.0.1:8888/v1/chain/get_info
If you run the command cleos get info
or go to http://127.0.0.1:8888/v1/chain/
and get information like the following it is because you already have the environment ready to work.
{"server_version":"e57a1eab","chain_id":"981453d176ddca32aa278ff7b8af9bf4632de00ab49db273db03115705d90c5a","head_block_num":66,"last_irreversible_block_num":65,"last_irreversible_block_id":"00000041fcc36403c71cebfc95810f610412b474f60735639fcaa2d241fe5ffa","head_block_id":"00000042a08478812c642d311f5ff22b9212559eeb9ee1042925742d8b46dd7f","head_block_time":"2021-07-08T05:48:45.500","head_block_producer":"eosio","virtual_block_cpu_limit":213407,"virtual_block_net_limit":1118998,"block_cpu_limit":199900,"block_net_limit":1048576,"server_version_string":"v2.0.12","fork_db_head_block_num":66,"fork_db_head_block_id":"00000042a08478812c642d311f5ff22b9212559eeb9ee1042925742d8b46dd7f","server_full_version_string":"v2.0.12-e57a1eab619edffc25afa7eceb05a01ab575c34a"}
To create the Docker image locally, you must run the following commands:
- Clone the local Proton repository
https://github.com/eoscostarica/proton-local
- Enter the cloned repository folder
cd <path/proton-local>
- Build the Dockerfile image
docker build -t proton-local .
- Run the Dockerfile image
docker run -dp 8888:8888 proton-local
- Run the command
cleos get info
or check the link in the browserhttp://127.0.0.1:8888/v1/chain/get_info
By this point, you already have the Proton network image running locally.
/
βββ .github
β βββ workflows
β βββ publish-docker-image.yml
βββ config.ini ............... Nodeos configuration file
βββ Dockerfile ............... Contains instructions for building the Proton image
βββ genesis.json ............. Specifies the network genesis node parameters
βββ LICENSE .................. Terms and Conditions
βββ README.md ................ Repository specification
βββ start.sh ................. Instructions for configuring contracts and usage characteristics
MIT Β© EOS Costa Rica
If you want to contribute to this repository, please follow the steps below:
- Fork the project
- Create a new branch (
git checkout -b feat/sometodo
) - Commit changes (
git commit -m '<type>(<scope>): <subject>'
) - Push the commit (
git push origin feat/sometodo
) - Open a Pull Request
Read the EOS Costa Rica open source contribution guidelines for more information on scheduling conventions.
If you find any bugs, please report them by opening an issue at this link.
Proton is trying to improve and streamline the verification and speed at which payments are processed either between banks or merchants. Currently for traditional payments, users arenβt asked for consent before a payment is processed, unless going over a comfortable limit, from the credit card processor, and the second layer of authentication is usually an insecure telecom network.
Cryptocurrency has no native compliance tools for anti-money laundering, identity, source of funds, or risk scoring for financial institutions to adopt it.
Previously, there wasnβt a way to push or pull funds (or for legacy finance to interact with crypto finance) in real time on the blockchain from credit/debit/ACH/IBAN.
Proton solves this problem by integrating identity verification.
But beyond being an app platform with an unified identity model, the Proton blockchain was designed to allow websites and apps to push payment requests directly to Proton-compliant wallets.
Proton will solve this problem by creating a namespace that works across multiple payment providers, identity verifiers, and payment transmitters. Gone are the days of entering your bank password or credit card number online; crypto and fiat wallets alike now interact as one network to streamline the process of making and receiving payments.
Edenia runs independent blockchain infrastructure and develops web3 solutions. Our team of technology-agnostic builders has been operating since 1987, leveraging the newest technologies to make the internet safer, more efficient, and more transparent.