Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
stepkillah committed May 16, 2018
2 parents 32d54f3 + 2676bc6 commit 5214c41
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 42 deletions.
32 changes: 16 additions & 16 deletions Documentation/getting-started.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@


# Getting started - Building and running a Stratis Full Node
# Getting started - Building and running a Impleum Full Node

---------------

Expand All @@ -21,50 +21,50 @@ To install and run the node, you need
### Get the repository and its dependencies

```
git clone https://github.com/stratisproject/StratisBitcoinFullNode.git
cd StratisBitcoinFullNode
git clone https://github.com/impleum/ImpleumBitcoinFullNode.git
cd ImpleumBitcoinFullNode
git submodule update --init --recursive
```

### Build and run the code
With this node, you can connect to either the Stratis network or the Bitcoin network, either on MainNet or TestNet.
With this node, you can connect to either the Impleum network or the Bitcoin network, either on MainNet or TestNet.
So you have 4 options:

1. To run a <b>Stratis</b> node on <b>MainNet</b>, do
1. To run a <b>Impleum</b> node on <b>MainNet</b>, do
```
cd Stratis.StratisD
cd Impleum.ImpleumD
dotnet run
```

2. To run a <b>Stratis</b> node on <b>TestNet</b>, do
2. To run a <b>Impleum</b> node on <b>TestNet</b>, do
```
cd Stratis.StratisD
cd Impleum.ImpleumD
dotnet run -testnet
```

3. To run a <b>Bitcoin</b> node on <b>MainNet</b>, do
```
cd Stratis.BitcoinD
cd Impleum.BitcoinD
dotnet run
```

4. To run a <b>Bitcoin</b> node on <b>TestNet</b>, do
```
cd Stratis.BitcoinD
cd Impleum.BitcoinD
dotnet run -testnet
```

### Advanced options

You can get a list of command line arguments to pass to the node with the -help command line argument. For example:
```
cd Stratis.StratisD
cd Impleum.ImpleumD
dotnet run -help
```

### Script
We have a nifty little script that can execute all the previous commands for you, including starting the node.
You just need to edit the file and specify whether you want to run a Stratis or a Bitcoin node, on MainNet or Testnet.
You just need to edit the file and specify whether you want to run a Impleum or a Bitcoin node, on MainNet or Testnet.
It's located [here](https://gist.github.com/bokobza/e68832f5d7d4102bcb33fcde8d9a72fb#file-build-and-run-a-stratis-node-ps1).


Expand All @@ -73,15 +73,15 @@ Docker Containers

Two containers are available [here](https://hub.docker.com/u/stratisplatform/)

- stratis-node: Run on the Bitcoin Main or Test networks
- stratis-node-sim: Join our simulation network
- impleum-node: Run on the Bitcoin Main or Test networks
- impleum-node-sim: Join our simulation network

Swagger Endpoints
-------------------

Once the node is running, a Swagger interface (web UI for testing an API) is available.

* For Bitcoin: http://localhost:37220/swagger/
* For Stratis: http://localhost:37221/swagger/
* For Impleum: http://localhost:38222/swagger/
* For Bitcoin Testnet: http://localhost:38220/swagger/
* For Stratis Testnet: http://localhost:38221/swagger/
* For Impleum Testnet: http://localhost:39222/swagger/
44 changes: 20 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,22 @@
[6]: https://travis-ci.org/stratisproject/StratisBitcoinFullNode


Stratis Bitcoin
Impleum Bitcoin
===============

https://stratisplatform.com
https://impleum.com

Bitcoin Implementation in C#
----------------------------

Stratis is an implementation of the Bitcoin protocol in C# on the [.NET Core](https://dotnet.github.io/) platform.
The node can run on the Bitcoin and Stratis networks.
Stratis Bitcoin is based on the [NBitcoin](https://github.com/MetacoSA/NBitcoin) project.
Impleum is an implementation of the Bitcoin protocol in C# on the [.NET Core](https://dotnet.github.io/) platform.
The node can run on the Bitcoin and Impleum networks.
Impleum Bitcoin is based on the [NBitcoin](https://github.com/MetacoSA/NBitcoin) project.

For Proof of Stake support on the Stratis token the node is using [NStratis](https://github.com/stratisproject/NStratis) which is a POS implementation of NBitcoin.
For Proof of Stake support on the Impleum token the node is using [NStratis](https://github.com/stratisproject/NStratis) which is a POS implementation of NBitcoin.

[.NET Core](https://dotnet.github.io/) is an open source cross platform framework and enables the development of applications and services on Windows, macOS and Linux.
Join our community on [slack](https://stratisplatform.slack.com).
Join our community on [discord](https://discord.gg/AyV8Ssa).

The design
----------
Expand All @@ -36,12 +36,12 @@ A Blockchain is made of many components, from a FullNode that validates blocks t
The end goal is to develop a set of [Nuget](https://en.wikipedia.org/wiki/NuGet) packages from which an implementer can cherry pick what he needs.

* **NBitcoin**
* **Stratis.Bitcoin.Core** - The bare minimum to run a pruned node.
* **Stratis.Bitcoin.Store** - Store and relay blocks to peers.
* **Stratis.Bitcoin.MemoryPool** - Track pending transaction.
* **Stratis.Bitcoin.Wallet** - Send and Receive coins
* **Stratis.Bitcoin.Miner** - POS or POW
* **Stratis.Bitcoin.Explorer**
* **Impleum.Bitcoin.Core** - The bare minimum to run a pruned node.
* **Impleum.Bitcoin.Store** - Store and relay blocks to peers.
* **Impleum.Bitcoin.MemoryPool** - Track pending transaction.
* **Impleum.Bitcoin.Wallet** - Send and Receive coins
* **Impleum.Bitcoin.Miner** - POS or POW
* **Impleum.Bitcoin.Explorer**


Create a Blockchain in a .NET Core style programming
Expand All @@ -61,7 +61,7 @@ Create a Blockchain in a .NET Core style programming
What's Next
----------

We plan to add many more features on top of the Stratis Bitcoin blockchain:
We plan to add many more features on top of the Impleum Bitcoin blockchain:
Sidechains, Private/Permissioned blockchain, Compiled Smart Contracts, NTumbleBit/Breeze wallet and more...

Running a FullNode
Expand All @@ -70,20 +70,20 @@ Running a FullNode
Our full node is currently in alpha.

```
git clone https://github.com/stratisproject/StratisBitcoinFullNode.git
cd StratisBitcoinFullNode\src
git clone https://github.com/impleum/ImpleumBitcoinFullNode.git
cd ImpleumBitcoinFullNode\src
dotnet restore
dotnet build
```

To run on the Bitcoin network: ``` Stratis.BitcoinD\dotnet run ```
To run on the Stratis network: ``` Stratis.StratisD\dotnet run ```
To run on the Bitcoin network: ``` Impleum.BitcoinD\dotnet run ```
To run on the Impleum network: ``` Impleum.ImpleumD\dotnet run ```

Getting Started Guide
-----------
More details on getting started are available [here](https://github.com/stratisproject/StratisBitcoinFullNode/blob/master/Documentation/getting-started.md)
More details on getting started are available [here](https://github.com/impleum/ImpleumBitcoinFullNode/blob/master/Documentation/getting-started.md)

Development
-----------
Expand All @@ -95,7 +95,7 @@ Check this guides for more info:
* [Wiki Page](https://stratisplatform.atlassian.net/wiki/spaces/WIKI/overview)

There is a lot to do and we welcome contributers developers and testers who want to get some Blockchain experience.
You can find tasks at the issues/projects or visit our [C# dev](https://stratisplatform.slack.com/messages/csharp_development/) slack channel.
You can find tasks at the issues/projects or visit our [C# dev](https://discord.gg/AyV8Ssa) discord channel.

Testing
-------
Expand All @@ -109,7 +109,3 @@ Every time someone pushes to the master branch or create a pull request on it, a

To skip a build, for example if you've made very minor changes, include the text **[skip ci]** or **[ci skip]** in your commits' comment (with the squared brackets).

If you want get the :sparkles: latest :sparkles: (and unstable :bomb:) version of the nuget packages here:
* [Stratis.Bitcoin](https://ci.appveyor.com/api/projects/stratis/stratisbitcoinfullnode/artifacts/nuget/Stratis.Bitcoin.1.0.7-alpha.nupkg?job=Configuration%3A%20Release)


19 changes: 17 additions & 2 deletions src/Stratis.Bitcoin.Features.Consensus/PosConsensusValidator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -232,8 +232,23 @@ public override Money GetProofOfWorkReward(int height)
{
if (this.IsPremine(height))
return this.consensusOptions.PremineReward;

return this.consensusOptions.ProofOfWorkReward;
if (height <= 40100)
return this.consensusOptions.ProofOfWorkReward;
if (height < 45000)
return Money.Coins(24);
if (height < 50000)
return Money.Coins(12);
if (height < 55000)
return Money.Coins(6);
if (height < 60000)
return Money.Coins(3);
if (height < 65000)
return Money.Coins(1);
if (height < 70000)
return Money.Coins(0);
if (height > 75000)
return Money.Coins(0.48m);
return Money.Coins(0);
}

/// <inheritdoc />
Expand Down

0 comments on commit 5214c41

Please sign in to comment.