Skip to content

Latest commit

 

History

History
116 lines (89 loc) · 8.88 KB

README.md

File metadata and controls

116 lines (89 loc) · 8.88 KB

Bitsign Federation Network

What is Bitsign Federation?

Bitsign Federation blockchain is a special type of blockchain (PoA algorithm) that lets you use features of blockchain/smart contracts like notarization, timestamping, escrow/crowdsale contracts but with low to zero fee and costs. Also we've created an abstraction layer on top of our EVM based blockchain that can be used to integrate business models with blockchain and smart contract features using only RESTful APIs.

Explorer

Bitsign Federation block explorer can be found here

Statistics

Statistic explorer can be found here

Configuration

To connect to Bitsign Federation Blockchain you need to use genesis.json for settings and initial conditions.

File can be downloaded from here

{
  "name": "Bitsign",
  "engine": {
    "authorityRound": {
      "params": {
        "gasLimitBoundDivisor": "0x400",
        "stepDuration": "5",
        "blockReward": "0xDE0B6B3A7640000",
        "validators" : {
          "safeContract": "0x0000000000000000000000000000000000000005"
        }
      }
    }
  },
  "params": {
    "maximumExtraDataSize": "0x20",
    "minGasLimit": "0x1388",
    "networkID" : "0x2323"
  },
  "genesis": {
    "seal": {
      "authorityRound": {
        "step": "0x0",
        "signature": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
      }
    },
    "difficulty": "0x20000",
    "gasLimit": "0x5B8D80",
    "timestamp": 1512771499
  },
  "accounts": {
    "0000000000000000000000000000000000000001": { "balance": "1000000000000000000", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
    "0000000000000000000000000000000000000002": { "balance": "1000000000000000000", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
    "0000000000000000000000000000000000000003": { "balance": "1000000000000000000", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
    "0000000000000000000000000000000000000004": { "balance": "1000000000000000000", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } },
    "0x0000000000000000000000000000000000000005": { "balance": "1000000000000000000", "constructor" : "6060604052602060405190810160405280730a0f29a9b479d91f6d112b203c7d9db0cb4cdb8473ffffffffffffffffffffffffffffffffffffffff16815250600190600161004e92919061008f565b506001600260006101000a81548160ff021916908315150217905550341561007557600080fd5b5b60016000908054610088929190610119565b505b6101ae565b828054828255906000526020600020908101928215610108579160200282015b828111156101075782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906100af565b5b509050610115919061016b565b5090565b82805482825590600052602060002090810192821561015a5760005260206000209182015b8281111561015957825482559160010191906001019061013e565b5b509050610167919061016b565b5090565b6101ab91905b808211156101a757600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101610171565b5090565b90565b610743806101bd6000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806340a141ff1461005f5780634d238c8e1461009857806375286211146100d1578063b7ab4db5146100e6575b600080fd5b341561006a57600080fd5b610096600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610151565b005b34156100a357600080fd5b6100cf600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610320565b005b34156100dc57600080fd5b6100e46103ac565b005b34156100f157600080fd5b6100f9610489565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561013d5780820151818401525b602081019050610121565b505050509050019250505060405180910390f35b600080600260009054906101000a900460ff16151561016f57600080fd5b600091505b600180549050821015610319578273ffffffffffffffffffffffffffffffffffffffff166001838154811015156101a757fe5b906000526020600020900160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561030b578190505b60018080549050038110156102a857600180820181548110151561021457fe5b906000526020600020900160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018281548110151561025057fe5b906000526020600020900160005b6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b80806001019150506101f4565b6001808080549050038154811015156102bd57fe5b906000526020600020900160005b6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600180548091906001900361030191906105f1565b5061030a61051e565b5b5b8180600101925050610174565b5b5b505050565b600260009054906101000a900460ff16151561033b57600080fd5b6001805480600101828161034f919061061d565b916000526020600020900160005b83909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506103a761051e565b5b5b50565b600160009080546103be929190610649565b506001600260006101000a81548160ff0219169083151502179055507f8564cd629b15f47dc310d45bcbfc9bcf5420b0d51bf0659a16c67f91d276325360006040518080602001828103825283818154815260200191508054801561047857602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161042e575b50509250505060405180910390a15b565b61049161069b565b600080548060200260200160405190810160405280929190818152602001828054801561051357602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116104c9575b505050505090505b90565b6000600260006101000a81548160ff0219169083151502179055506001430340600019167f55252fa6eee4741b4e24a74a70e9c11fd2c2281df8d6ea13126ff845f7825c896001604051808060200182810382528381815481526020019150805480156105e057602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610596575b50509250505060405180910390a25b565b8154818355818115116106185781836000526020600020918201910161061791906106af565b5b505050565b8154818355818115116106445781836000526020600020918201910161064391906106af565b5b505050565b82805482825590600052602060002090810192821561068a5760005260206000209182015b8281111561068957825482559160010191906001019061066e565b5b50905061069791906106d4565b5090565b602060405190810160405280600081525090565b6106d191905b808211156106cd5760008160009055506001016106b5565b5090565b90565b61071491905b8082111561071057600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055506001016106da565b5090565b905600a165627a7a72305820becc3f37992c78e668efe1f88f680507b6c7d888a514cd2ceecc935d3c09155f0029"
   }
  }
}

Also public nodes need to be queried to sync Federation blockchain to update to its latest state. You can use:

Federation Nodes:

enode://a891225909f70a4ee3f40c1dac05da763fe0354d5f259922abf841db51706283d2957c09fc7266e5f4633583a34dbef3f38a769eb35551788740a06e387dfa2a@159.203.176.160:30303
enode://b21d8b85165319a86c822dadcd51fbaf1aca3fe7854df8644c03ac304e34205d31d44d0eac7dd6366a8f8a621eeb2198d9644090d59771148fb3ac92630d2dd6@198.211.100.127:30303
enode://399eb9b379410a66c80899cf03bec59bce930cd6f8a8440e6c8601c881f68d994f054f297e931304c090bacbfca29d45063d624e45c7deb74b4b76993c14658a@159.203.178.88:30303

Running Parity

Parity software can be downloaded here (version 1.9.x+ recommended)

Configuration file

For a quick run you can use the simple yet working config file to start Parity below: config.toml

Command line

For running Parity on Bitsign Federation an example command line can be:

$ parity --config config.toml

Building using Docker

To Parity from a Docker container, you must clon this repository and then build the image with this command:

$ docker build -t bitsign-federation .

To persist the blockchain data you can create a named volume:

docker volume create --name=bitsign-federation-data

Then when the image building process finish, create the container with this command:

$ docker run --name=bitsign-federation-node \
             -v bitsign-federation-data:/data \
             -e NODE_NAME=some-name \
             bitsign-federation --config config.toml

The NODE_NAME environment variable is for set an references name for the statistic explorer, you can choose whatever you want.

Note: If you want a quick run you can use config.toml file, or you can replace --config config.toml with the configuration you need.