OCAP/Foreign Chain settings for ArcBridge Node
Recently got a blocklet server running on an ubuntu install so that I could set up an ArcBridge Node. I also had purchased a node space from the website in which I am also stuck at this point below:
I completed the setup of the server and went to install the node. After it downloaded, extracted files, and finished I went onto the blocklets page. For the node in the components section, I've gotten to the point of needing:
OCAP_CHAIN_HOST FOREIGN_CHAIN_HOST FOREIGN_CHAIN_ID
These are the only three settings that are highlighted for both the ubuntu blocklet server and the node purchased on the blocklet store with space attached.
I'd like to join the rollup chain as described, but couldn't find these settings or the references to what they are documented anywhere. Even using Google Translate for posts or blogs that weren't in English, I hadn't seen anything listed.
20 条回复
Thank you for expressing interest in running an ArcBridge node! I understand that you have gone through a series of challenges to reach this point.
To help you get your node up and running, here are some important parameters to consider:
OCAP_CHAIN_HOST: The API provider for the blockchain node support OCAP (Open Chain Access Protocol), e.g. ArcBlock's Main or Beta, or a test node you run by yourselfFOREIGN_CHAIN_HOST: The API provider for the foreign blockchain node. e.g. Ethereum or any Ethereum compatible blockchain's API server, e.g. Infura.FOREIGN_CHAIN_ID: The Chain ID of the foreign blockchain. (See below for Chain ID)ArcBlock's Main chain:
Block Explorer | ArcBlock
ArcBlock's Test chain:
Block Explorer | ArcBlock
You can easily setup a test OCAP chain with our blocklets:
FS Chain Manager
You can find different Ethereum and compatible Chain ID here:
Chainlist
To help you better, could you please clarify your intentions? Are you looking to set up an experimental environment for testing purposes or are you interested in becoming a validator node for the existing ArcBlock-Ethereum bridge? We are here to assist you further based on your specific requirements.
We highly recommend that you set up a test environment first before making a serious commitment to becoming a production validator. We advise against experimenting with the setup of the production ArcBlock and Ethereum chain without ensuring that everything is properly covered. This is because there is a risk of potential loss of your digital assets.T o avoid any potential problems or losses, we strongly recommend thoroughly understanding and testing the setup process before proceeding with any experimentation. It is always best to take necessary precautions to safeguard your assets.
We apologize for any inconvenience you experienced while setting up the server and joining the bridge. We understand how frustrating it can be to encounter difficulties during this process. As a solution, we have decided to create video tutorials to demonstrate the entire setup process. We will also improve our documentation to ensure that each step is clear and easy to follow. Please bear with us as we work on creating these tutorials and enhancing our documentation. We will notify you once they are available.
Thank you for showing interest in becoming a validator!
However, before you proceed, it is important to familiarize yourself with the various concepts and responsibilities that come with being a validator. Being a validator carries some risks, such as the potential loss of digital assets due to attacks or slashing. It is crucial to fully understand and evaluate these risks before taking on the role.
Risk of becoming an attack target
The validator node includes a "hot-wallet" (the private keys are on the server) with digital assets because it is essential for the validation and signing of transactions. Occasionally, the node may need to send transactions and your wallet must have sufficient assets for the associated gas fee.
Being a validator node means that it will be publicly known, which unfortunately increases the risk of becoming a target for potential attacks. It is crucial for you to take full responsibility for securing your server to prevent any such attacks from occurring.
We highly advise against setting up the node on a self-hosting home server or devices such as Raspberry Pi. Sharing the server with other services, like a website, is also NOT recommended. To ensure optimal performance and security, we recommend using a dedicated cloud server like AWS, Azure, or Google Cloud, or you can use our dedicated Blocklet Server option, the serverless Blocklet will NOT suitable for this scenario.
It is indeed a complex task, but we are more than happy to provide you with some recommendations later.
Risk of slashing
As a validator node, it is important for you to stake a certain amount of tokens. These staked tokens serve as a guarantee for each transaction that your validator signs. In the event that the system determines that the transactions signed from your node are invalid, there is a risk of you losing the staked tokens. The amount of tokens you may lose depends on the extent of the damage caused by the invalid transaction.
There are several reasons why your node may sign invalid transactions. For example, your system could be attacked and the software altered, or your blockchain node could be out of sync or compromised due to an attack or misconfiguration.
The chance of an invalid transaction being passed is very low, as there are different validators cross-verified each time and gatekeepers automatically re-verify. However, even without any damages occurring, any invalid signature will result in a reduction of your staked tokens. If your staked tokens are completely slashed or if your node continuously signs invalid transactions, your node will be removed from the bridge and will not be able to rejoin.
We recommend that you start by setting up a bridge with our test net and Ethereum test net. This will allow you to gain experience and become familiar with the process. Once you feel confident in what you are doing, you can then move on to using the production bridge. Our engineering team will be available to assist you throughout this process.
Thanks again, so with the advice of not using the home built one, I'd like to set up the dedicated blocklet server I had purchased through the store (server + app).
Only main questions so far are:
Will I be able to change the node from test to production after familiarizing with it, or would it require another server/app?
Do I stake once or can I add more later?
I'm sure I'll have other questions later.
You can reinstall it to production after you evaluate and tested for test node.
You have the freedom to stake or unstake at any time. This means that you can start with a smaller stake and later increase the stake size if you wish. However, please note that the process of unstaking from a validator takes some time, usually ranging from a few hours to a few days. This design is put in place to prevent any potential malicious activity from occurring, as it ensures that a bad actor cannot quickly unstake to avoid being penalized.
The size of your stake will determine your opportunity to perform as a main validator, entitling you to receive the majority of the fees. If your stake size is smaller, your chances of participating as a main validator in the validation round will be reduced.
Ok great. I'd love to start getting the test node together, which again leads to needing these settings configured. After it's been established that way for a few days or a week and I've looked at everything which is past the configuration, I'd like to switch it to production.
Ideally, familiarized and production ready within a couple weeks from now is what I'm looking to accomplish.
Sounds great, thanks so much. Is that something that would be posted here, or more generally for everyone like on a youtube video/dedicated forum post?
Edit: Sorry just went through the replies again and you had stated video.
Thanks again.
A few other thoughts that might be better explained in the video as well.
I've noticed on the explorer that there is one active bridge and two that appear offline. All three being of the same type. Each with their own node count. My questions regarding this specific are:
A. Aside from joining the existing bridge, is making additional bridges also applicable?
B. Is it more beneficial to the network to have more of the same type of bridge for possible redundancy-sake?
C. Is there a node per bridge limit?
Yes, it is possible to create additional bridges to connect different digital assets.
However, it is important to note that for each type of digital asset, there should be only one active bridge. This ensures efficient and secure transfer of assets between different blockchain networks.
Since there could be multiple types of assets, such as ABT, ETH, USDT, there could be more bridges, each for different types of assets.
No.
Having multiple bridges for the same type of digital asset can lead to complications and potential conflicts. It may result in fragmentation of liquidity and difficulty in maintaining consensus across different bridges. Therefore, it is recommended to have a single active bridge for each type of digital asset to ensure smooth interoperability between blockchain networks.
Yes. Having too much node will lower the performance. It’s a balance and trade off between security, performance and governance. However, we do NOT have a hard limit on how many nodes should a bridge have, instead it’s an economical decision (since there are cost to run a bridge node, and the revenue of the bridge is shared within the nodes participate in such bridge).
We possess the necessary technical capabilities to seamlessly connect tokens between ArcBlock and Ethereum compatible blockchains.
Please be advised that ArcBridge operates as a fully decentralized solution, allowing individuals to establish bridge(s) for various digital assets without any restrictions.
So for these settings, I've went over your replies a few times and I would like to see if my example understanding is correct:
OCAP Chain Host would either be
'https://beta.abtnetwork.io/explorer' for test
'https://main.abtnetwork.io/explorer' for main
[edit: or would this be 'api' instead of 'explorer']
Foreign chain host
'https://ethereum.publicnode.com' or
'https://mainnet.infura.io/v3/<userAPIkey>' (mainnet example)
Foreign chain ID
1 or
0x1
z1croUysBVjGHD7KtHqZyhxKrCrSB2Z1Daa I am working on a tutorial about joining our test chain bridge, please stay tuned, and a few requirements to proceeding:
Found where to add the testnets for visibility within DID Wallet, requested faucet transaction and have some test eth.
For joining a node to the testnet, can this be done with an already purchased node from the blocklet store or is a new node to be made with test tokens?
The test bridge you linked, is that link what would be entered for the
OCAP chain host: 'https://beta.abtnetwork.io/explorer/bridges/z3KzTUDUepQNKqcWVfRXqtqWf86tgqQjc9uge'?
Foreign chain host: 'https://ethereum-goerli.publicnode.com' or 'https://goerli.infura.io/v3/YOUR-API-KEY' for infura API?
Foreign chain id: '5' or '0x5'?
z1VV21NqNWkiadznN32ALkos5dQqQwnCMty is working on it. Apparently he is more experienced on creating software than create video demos. 😂
We are currently in a quarter review period, which means everyone's schedule is completely booked. Please bear with us for a few days so that we can have the video and tutorials prepared.
It seems you are adding ArcBridge Node as a component to your existing app?
The ArcBridge Node blocklet should be launched in a standalone app because it requires an Ethereum-compatible address (which is required for each node to send transactions to Ethereum blockchain).
I also had a prior sigular space that is expiring in less than 24 hours, which was just arcbridge node, and still had the same issues of setting that one section to eth.
I have another unused space, but when trying to launch arcbridge with that it wont allow me to switch which wallet to use, so that i can proceed with that.
Id rather not get yet another sigular space yet if i dont have to
just started a new one anyway.
it does show "ethereum" as that section, not "eth" or "arcblock", however when proceeding on, i reveive an error failed to warmup context..:
the new space is also stuck in a restart loop, and im unable to stop the blocklet from attempting to start.
the one you said that was an additional component when setting up it has arcblock prefilled. when setting up one by itself in a space, it will prefill "ethereum".
it is connected to the proper ethereum address that i linked earlier tho so thats a plus
now im unable to change environment settings for this new space because of the constant restarting from a crash. when editing (within didwallet) it will kick me out of the keyboard every couple seconds and i cant save it to be blank. i cant stop it from attempting aside from deleting the component and if i do that to then install it again later, id be faced with the improper prefill in settings.
either i have the ocap setting wrong ("https://main.abtnetwork.io/explorer") giving me the 404
foreign chain host:
("https://ethereum.publicnode.com")
foreign chain id
("1")
it finally stopped its loop and i can adjust variables again.
it must be i have the settings input incorrectly for the three ocap, foreign chain host/id.
OCAP Chain Host should be set to: https://main.abtnetwork.io/api/
ty, success.
exploring menus first before anything
figured it out myself 😁 scanned the QR code and DID wallet so smart it knows its mine 🤣