HomeGuidesChangelog
GuidesDiscussions & SupportGitHubLog In
These docs are for v4.1.0. Click to read the latest docs for v4.4.2.

Syscoin 4.1 Things to Test

The complexity of Syscoin has grown significantly since Syscoin 3.0.
We are currently in public testing and we are asking for the community to assist in testing of Syscoin 4.1 that is bound for release soon

Core

Syscoin 3.0 only had 3 binaries, syscoin-qt, syscoind and syscoin-cli.
Syscoin 4.0 grew to contain geth and relayer and .node dependencies of relayer
Syscoin 4.1 we've removed the .node dependencies of relayer so it's only geth and relayer in additionto syscoin trio

Please see https://syscoin.readme.io/docs/syscoin-41-testnet for setup guide
Please attempt to run sysoind or syscoin-qt on all supported platform (linux, win, osx 64b) and ensure that relayer and geth launched on the side are syncs the blockchain accordingly.
After launching syscoind/syscoinqt, this can be checked using syscoin-qt's console or syscoin-cli
syscoin-cli getblockchaininfo
and see that the syncing status is true with the correct blockheight of the ethereum blockchain

In Syscoin 4.1, we've updated the structure of assets with a new field, aux_fee

9. aux_fees                 (json object, required) Auxiliary fee structure
     {
       "address": "str",    (string, required) Address to pay auxiliary fees to
       "fee_struct": [      (json array, required) Auxiliary fee structure
         "",                (string) Bound (in amount) for for the fee level based on total transaction amount
         "",                (string) Percentage of total transaction amount applied as a fee
         ...
       ],
     }

This is the 9th argument in assetnew and the 6th argument in assetupdate and will force the user of this asset to pay an additional fee based on the fee_struct when transacting asset.

Please attempt to create assets with different type of fee struct and ensure the fees are paid out correctly to the asset owner

Agent

One of the key component of the 4.1 release is to enable to bridge functionality between Syscoin and Ethereum. In order to achieve that, there exists a new role on the network called an "agent".
Agents are Syscoin nodes who also runs a Java application pushing Syscoin blockchain information to the Ethereum blockchain's smart contract. For more information on setting up the agent, please see https://syscoin.readme.io/docs/sysethereum-agent
There's two types of agents, submitter and challenger. A node can be either or both.

As a submitter, the agent is expected to deposit 3 eth and submit a Syscoin superblock to the Ethereum smart contract every 60 Syscoin blocks. As there's many submitters on the network, only 1 node will be able to submit the superblock. If there is an assetallocationburn/mint transaction in this superblock, the submitter of this superblock shall earn a small fee proportional to the value transacted.

As a challenger, the agent is expected to watch the submission of superblocks by the submitters, while keeping a local track of superblocks. If the challenger notices a discrepancy, a challenge session is initiated. We call this a battle. Initiating a battle also requires a deposit of 3 ETH and the winner gets to keep all. The battle is ran automatically by sending proof from local blockchain to proof the correctness of the submission.

Moving across the Bridge

As a Syscoin user, the bridge should allow the user to move asset back and forth across the bridge to the Ethereum world.
In the current testnet setup, the user should be able to move assetallocation of any asset to a corresponding ERC-20 contract on the Ethereum Rinkeby network.
Also, the user should be able to move any ERC-20 based token to the Syscoin network as an asset
Please visit https://syscoin.readme.io/docs/syscoin-41-syscoin-ethereum-bridge
and https://bridge-testnet.syscoin.org for information

Things to test here include the following:

  1. Ensure any ERC-20 based token can be moved to Syscoin assetallocations
  2. Ensure the above assetallocations can be burnt and mint back on the ERC-20 side
  3. Test when there is a discrepancy in the asset precision data. Moving asset from Syscoin assetallocations to an ERC-20 with a different precision. Moving asset from an ERC-20 contract back to Syscoin side with a different precision in assetinfo
  4. Changing asset precision and/or asset contract during burn/mint action wait time