Skip to content

Commit

Permalink
Adding MOL blockchain (#423)
Browse files Browse the repository at this point in the history
* readme

* added impleum network

* build removed

* build removed

* Impleum network new settings prepared

* Merged with blockcore. Fixing Impleum network params

* Impleum update mamx supply

* Impleum magic comment added

* temporary remove workflows

* Fix for impleum bad address

* Update DNSSeedData

* Updates static Nodes

* Update ImpleumSetup.cs

* Update ImpleumSetup.cs

* Update ImpleumSetup.cs

* Upate  MinTxFee

* Upate MinTxFee TestNet

* Upate MinTxFee TestNet

* Impleum: Fix for MaxTxFee

* fix bip 9 deployments

* Ass mainnet nodes

* Add mainnet nodes

* cd /Users/elenabulanova/IMPL/D/ddd/blockcore

* Workflows add

* Fix DefaultThreshold

* Update ImpleumSetup.cs

* Add IMPLX seed Nodes

* Add checkpoints for City Chain network

* Added Tech Molie network

* fix MOL commandline arg

* MOL checkpoints

* Blockore merge

* Add Molie network to Network folder

* Update launchSettings.json

* Impleum Logo and new IMPLX and MOL Seed Nodes

* Add IMPL and MOL checkpoints

Co-authored-by: Anton Yaroshenko <kpakadijl@hotmail.com>
Co-authored-by: Elena Bulanova <elenabulanova@MacBook-Pro-Elena-2.local>
Co-authored-by: Yurii Bulakh <yuriy.bulah@iMac.local>
Co-authored-by: yuriy.bulah <yuriy.bulah@gmail.com>
Co-authored-by: Milad <miladsoft@yahoo.com>
  • Loading branch information
6 people authored Oct 24, 2022
1 parent 7d63323 commit 91eaea8
Show file tree
Hide file tree
Showing 18 changed files with 954 additions and 29 deletions.
7 changes: 7 additions & 0 deletions src/Blockcore.sln
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blockcore.Networks.SeniorBl
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blockcore.Networks.RoyalSportsCity", "Networks\Blockcore.Networks.RoyalSportsCity\Blockcore.Networks.RoyalSportsCity.csproj", "{D176C98F-E2EF-49C6-B073-32F08889BD27}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blockcore.Networks.Molie", "Networks\Blockcore.Networks.Molie\Blockcore.Networks.Molie.csproj", "{876BAE76-9A83-4757-9688-84E3692134FE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -404,6 +406,10 @@ Global
{D176C98F-E2EF-49C6-B073-32F08889BD27}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D176C98F-E2EF-49C6-B073-32F08889BD27}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D176C98F-E2EF-49C6-B073-32F08889BD27}.Release|Any CPU.Build.0 = Release|Any CPU
{876BAE76-9A83-4757-9688-84E3692134FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{876BAE76-9A83-4757-9688-84E3692134FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{876BAE76-9A83-4757-9688-84E3692134FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{876BAE76-9A83-4757-9688-84E3692134FE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -472,6 +478,7 @@ Global
{2834DEF2-0CF7-4012-A73D-07F06256CC75} = {3B56C02B-4468-4268-B797-851562789FCC}
{9C962CB5-A11B-47F1-A5D3-2AD2215CF100} = {3B56C02B-4468-4268-B797-851562789FCC}
{D176C98F-E2EF-49C6-B073-32F08889BD27} = {3B56C02B-4468-4268-B797-851562789FCC}
{876BAE76-9A83-4757-9688-84E3692134FE} = {3B56C02B-4468-4268-B797-851562789FCC}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6C780ABA-5872-4B83-AD3F-A5BD423AD907}
Expand Down
23 changes: 17 additions & 6 deletions src/Networks/Blockcore.Networks.Impleum/ImpleumSetup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ internal class Main

public static List<DNSSeedData> DNS = new List<DNSSeedData>
{
new DNSSeedData("seed1", "mn1.uh420058.ukrdomen.com"),
new DNSSeedData("seed2", "mn2.uh420058.ukrdomen.com"),
new DNSSeedData("seed3", "mn3.uh420058.ukrdomen.com"),
new DNSSeedData("seed4", "mn4.uh420058.ukrdomen.com"),
new DNSSeedData("seed1", "mol.molie.net"),
new DNSSeedData("seed2", "mol1.molie.net"),
new DNSSeedData("seed3", "mol2.molie.net"),
new DNSSeedData("seed4", "mol3.molie.net"),
new DNSSeedData("seed5", "impleum.com"),
new DNSSeedData("seed6", "seed1.impleum.com"),
new DNSSeedData("seed7", "seed2.impleum.com"),
Expand All @@ -69,7 +69,7 @@ internal class Main

public static Dictionary<int, CheckpointInfo> Checkpoints = new Dictionary<int, CheckpointInfo>
{
{ 0, new CheckpointInfo(new uint256("0x000002e1a5c2361c43f5d76b7d77cd52c2866b391c59867ad79de49795ed7361"), new uint256("0x0000000000000000000000000000000000000000000000000000000000000000")) },
{ 0, new CheckpointInfo(new uint256("0x000002e1a5c2361c43f5d76b7d77cd52c2866b391c59867ad79de49795ed7361"), new uint256("0x0000000000000000000000000000000000000000000000000000000000000000")) },
{ 675, new CheckpointInfo(new uint256("0x228fe79897e110963fb1c39fc87f8627b51b37151d2184178139960b9ddc902a"), new uint256("0xb6191b4b733d38c0d3a7d1bcf95009bc8b173fc9dd435165bf08cde2eef33918")) },
{ 1000, new CheckpointInfo(new uint256("0x6637657c16eb9ce7b99d09f41c0e12054dc0c47fd566f69af7778770bd5107f9"), new uint256("0x00eb64d91bb3dade131e3baf57fd40120586c0b08eea1852a2268b4eb4d87787")) },
{ 1500, new CheckpointInfo(new uint256("0x21215e41cfa79a83b32c34419c9ff24712d5be48e2753ea58c80422432198f93"), new uint256("0x23e3130f9b7d4101a129c03792ac565f0850a6df475ac59bae77ae4761c6dc98")) },
Expand All @@ -80,7 +80,18 @@ internal class Main
{ 20000, new CheckpointInfo(new uint256("0xb24fca13c138617da441b4a983e582557cda12fb778d7fae0994af01e3f3d252"), new uint256("0x35c3f5856f36fdc43ee7da31530e649966b924cf59e1fddd87d7ed7837b63073")) },
{ 30000, new CheckpointInfo(new uint256("0x8e7f225cb9eed57d578a6edf98a61f4120d20f0b41032eef35b557c2ae3b1c5e"), new uint256("0xd204fc2c31a15f5e3c02a178d100d88d1c10d21087c7a321594590f471ea6e51")) },
{ 50000, new CheckpointInfo(new uint256("0x6d0541ad988fb15b9b59a291f0beca1cd147dcc60e7503d4610f21aedeee4053"), new uint256("0x9fdfb977228155cb14c814e463f6280ece1961e873165dd9eadabbc523ee35fe")) },
{ 70000, new CheckpointInfo(new uint256("0x3f3d906896235395d6e203a1967875ba9408cc56d9a49b75503ef507712a7642"), new uint256("0x989fe82bec93afd796121443e62dab9a20fdb81764f5b52fceff05b05b4a781a")) }
{ 70000, new CheckpointInfo(new uint256("0x3f3d906896235395d6e203a1967875ba9408cc56d9a49b75503ef507712a7642"), new uint256("0x989fe82bec93afd796121443e62dab9a20fdb81764f5b52fceff05b05b4a781a")) },
{ 100000, new CheckpointInfo(new uint256("0x17ecd5212e991836759d0968195ddc16580813ac13fb0a70b4983f589fb365ee"), new uint256("9d72ec78c445f07aec12c6996eed44363e0c31008517bc78e418ef4a6b5e5677")) },
{ 150000, new CheckpointInfo(new uint256("0x97681da29d982934108a4668bdcfd6606656e3e5a7bc84f50c64780bd8fe451c"), new uint256("0xa1663164c8ffc87da70754258fe7c8cadd982619d51257df37dc52e8b648f2ad")) },
{ 200000, new CheckpointInfo(new uint256("0xddd353e1ca10ddc0d0bb42a09e8448e7a08ad7fae954b7358e8a5ecb827a81c9"), new uint256("0xebfafd00ebedabe40401ecaae263b585146c797d33c4c7c793a4233e5c8b88fa")) },
{ 250000, new CheckpointInfo(new uint256("0x06fea4881b80be581b5876353019dc3e8429c7321c71f2a1d0791ad4d15828e4"), new uint256("0x5d0aa1166d2c83cf8dc73142cb028a26c568b91c14566f35fdfaaba678d1fd99")) },
{ 300000, new CheckpointInfo(new uint256("0x822e30a8b4ad4b6792c34ffbc397090ca59b52e2ac1cd4299f24afc2ffe38fb2"), new uint256("0x276f1f116a1c5332927a7585859fedadf7cee36099995e7a7b4ee1a19dc048b0")) },
{ 400000, new CheckpointInfo(new uint256("0x67890776bfe224a098cbf90bb0b7b7e2ffe33acd2c34158a77d462a08f21a751"), new uint256("0x582ee64a508f319c4d9208de1ceb91649cebf8a691b6d95573f1ebb1951c5e31")) },
{ 500000, new CheckpointInfo(new uint256("0x84b7e38b779365b3daa1d11007bfc4e155022a06da85e1be66885ae5b59aa9bf"), new uint256("0x9fc920ab363e4d916b4060e734de7f9be84dd4777f7b00d059848174381ff5e9")) },
{ 600000, new CheckpointInfo(new uint256("0xac64cb247ccbc3b4077c7c6489124ec8895ca33dac39ac5ab0c833657e6c9df6"), new uint256("0xe2a8cc402d5f30eaa18f4591533fc17bc0f36874bc52f011723b8f786d4d6022")) },
{ 700000, new CheckpointInfo(new uint256("0xec96224f7ea2352a158ec3af7415e37e86356951661c6d6456a998b6684c5c91"), new uint256("0xb36136b9a92fe62b8f76dd4d7df59c7ca85efd49bb8f4154f6b159926c590e7b")) },
{ 800000, new CheckpointInfo(new uint256("0x8c72571334c5ed51e9332e1ba457cff5c920d54ef9b92a36602a350ca326790d"), new uint256("0xdce78ac613c81bc1908defcd674cfe32de5186db7c0635f1789eea7a5f9a0850")) },
{ 900000, new CheckpointInfo(new uint256("0x9856449c51c92cba7a2d4ee505650b18e044e2eb8b56c300fe5700eabed9049e"), new uint256("0x89d63290966eeca6dca6144672f894bfde5b4894dd89e0f2f7cd8a94f77543de")) }
};
}

Expand Down
Binary file modified src/Networks/Blockcore.Networks.Impleum/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<Authors>Blockcore</Authors>
<AssemblyTitle>Blockcore.Networks.Molie</AssemblyTitle>
<AssemblyName>Blockcore.Networks.Molie</AssemblyName>
<PackageId>Blockcore.Networks.Molie</PackageId>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<IsPackable>true</IsPackable>
</PropertyGroup>

<PropertyGroup>
<LangVersion>latest</LangVersion>
<PackageIcon>icon.png</PackageIcon>
</PropertyGroup>

<ItemGroup>
<EmbeddedResource Include="icon.png" />
</ItemGroup>

<ItemGroup>
<None Include="icon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\Blockcore\Blockcore.csproj" />
<ProjectReference Include="..\..\Features\Blockcore.Features.Consensus\Blockcore.Features.Consensus.csproj" />
<ProjectReference Include="..\..\Features\Blockcore.Features.MemoryPool\Blockcore.Features.MemoryPool.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
using Blockcore.Base.Deployments;
using Blockcore.Consensus.ScriptInfo;
using Blockcore.Consensus.TransactionInfo;

namespace Blockcore.Networks.Molie.Deployments
{
/// <summary>
/// BIP9 deployments for the Blockcore sample coin network.
/// </summary>
public class MolieBIP9Deployments : BIP9DeploymentsArray
{
// The position of each deployment in the deployments array. Note that this is decoupled from the actual position of the flag bit for the deployment in the block version.
public const int CSV = 0;
public const int Segwit = 1;
public const int ColdStaking = 2; // TODO: Move this to the end of the deployments to leave room for others from Bitcoin?

// The number of deployments.
public const int NumberOfDeployments = 3;

/// <summary>
/// Constructs the BIP9 deployments array.
/// </summary>
public MolieBIP9Deployments() : base(NumberOfDeployments)
{
}

/// <summary>
/// Gets the deployment flags to set when the deployment activates.
/// </summary>
/// <param name="deployment">The deployment number.</param>
/// <returns>The deployment flags.</returns>
public override BIP9DeploymentFlags GetFlags(int deployment)
{
// The flags get combined in the caller, so it is ok to make a fresh object here.
var flags = new BIP9DeploymentFlags();

switch (deployment)
{
case ColdStaking:
flags.ScriptFlags = ScriptVerify.CheckColdStakeVerify;
break;

case CSV:
// Start enforcing BIP68 (sequence locks), BIP112 (CHECKSEQUENCEVERIFY) and BIP113 (Median Time Past) using versionbits logic.
flags.ScriptFlags = ScriptVerify.CheckSequenceVerify;
flags.LockTimeFlags = Transaction.LockTimeFlags.VerifySequence | Transaction.LockTimeFlags.MedianTimePast;
break;

case Segwit:
// Start enforcing WITNESS rules using versionbits logic.
flags.ScriptFlags = ScriptVerify.Witness;
break;
}

return flags;
}
}
}
Loading

0 comments on commit 91eaea8

Please sign in to comment.