Skip to content

Commit 91eaea8

Browse files
shtahstepkillahElena BulanovaYurii Bulakhyuriibulakh
authored
Adding MOL blockchain (#423)
* 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>
1 parent 7d63323 commit 91eaea8

File tree

18 files changed

+954
-29
lines changed

18 files changed

+954
-29
lines changed

src/Blockcore.sln

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blockcore.Networks.SeniorBl
154154
EndProject
155155
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blockcore.Networks.RoyalSportsCity", "Networks\Blockcore.Networks.RoyalSportsCity\Blockcore.Networks.RoyalSportsCity.csproj", "{D176C98F-E2EF-49C6-B073-32F08889BD27}"
156156
EndProject
157+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blockcore.Networks.Molie", "Networks\Blockcore.Networks.Molie\Blockcore.Networks.Molie.csproj", "{876BAE76-9A83-4757-9688-84E3692134FE}"
158+
EndProject
157159
Global
158160
GlobalSection(SolutionConfigurationPlatforms) = preSolution
159161
Debug|Any CPU = Debug|Any CPU
@@ -404,6 +406,10 @@ Global
404406
{D176C98F-E2EF-49C6-B073-32F08889BD27}.Debug|Any CPU.Build.0 = Debug|Any CPU
405407
{D176C98F-E2EF-49C6-B073-32F08889BD27}.Release|Any CPU.ActiveCfg = Release|Any CPU
406408
{D176C98F-E2EF-49C6-B073-32F08889BD27}.Release|Any CPU.Build.0 = Release|Any CPU
409+
{876BAE76-9A83-4757-9688-84E3692134FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
410+
{876BAE76-9A83-4757-9688-84E3692134FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
411+
{876BAE76-9A83-4757-9688-84E3692134FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
412+
{876BAE76-9A83-4757-9688-84E3692134FE}.Release|Any CPU.Build.0 = Release|Any CPU
407413
EndGlobalSection
408414
GlobalSection(SolutionProperties) = preSolution
409415
HideSolutionNode = FALSE
@@ -472,6 +478,7 @@ Global
472478
{2834DEF2-0CF7-4012-A73D-07F06256CC75} = {3B56C02B-4468-4268-B797-851562789FCC}
473479
{9C962CB5-A11B-47F1-A5D3-2AD2215CF100} = {3B56C02B-4468-4268-B797-851562789FCC}
474480
{D176C98F-E2EF-49C6-B073-32F08889BD27} = {3B56C02B-4468-4268-B797-851562789FCC}
481+
{876BAE76-9A83-4757-9688-84E3692134FE} = {3B56C02B-4468-4268-B797-851562789FCC}
475482
EndGlobalSection
476483
GlobalSection(ExtensibilityGlobals) = postSolution
477484
SolutionGuid = {6C780ABA-5872-4B83-AD3F-A5BD423AD907}

src/Networks/Blockcore.Networks.Impleum/ImpleumSetup.cs

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ internal class Main
5050

5151
public static List<DNSSeedData> DNS = new List<DNSSeedData>
5252
{
53-
new DNSSeedData("seed1", "mn1.uh420058.ukrdomen.com"),
54-
new DNSSeedData("seed2", "mn2.uh420058.ukrdomen.com"),
55-
new DNSSeedData("seed3", "mn3.uh420058.ukrdomen.com"),
56-
new DNSSeedData("seed4", "mn4.uh420058.ukrdomen.com"),
53+
new DNSSeedData("seed1", "mol.molie.net"),
54+
new DNSSeedData("seed2", "mol1.molie.net"),
55+
new DNSSeedData("seed3", "mol2.molie.net"),
56+
new DNSSeedData("seed4", "mol3.molie.net"),
5757
new DNSSeedData("seed5", "impleum.com"),
5858
new DNSSeedData("seed6", "seed1.impleum.com"),
5959
new DNSSeedData("seed7", "seed2.impleum.com"),
@@ -69,7 +69,7 @@ internal class Main
6969

7070
public static Dictionary<int, CheckpointInfo> Checkpoints = new Dictionary<int, CheckpointInfo>
7171
{
72-
{ 0, new CheckpointInfo(new uint256("0x000002e1a5c2361c43f5d76b7d77cd52c2866b391c59867ad79de49795ed7361"), new uint256("0x0000000000000000000000000000000000000000000000000000000000000000")) },
72+
{ 0, new CheckpointInfo(new uint256("0x000002e1a5c2361c43f5d76b7d77cd52c2866b391c59867ad79de49795ed7361"), new uint256("0x0000000000000000000000000000000000000000000000000000000000000000")) },
7373
{ 675, new CheckpointInfo(new uint256("0x228fe79897e110963fb1c39fc87f8627b51b37151d2184178139960b9ddc902a"), new uint256("0xb6191b4b733d38c0d3a7d1bcf95009bc8b173fc9dd435165bf08cde2eef33918")) },
7474
{ 1000, new CheckpointInfo(new uint256("0x6637657c16eb9ce7b99d09f41c0e12054dc0c47fd566f69af7778770bd5107f9"), new uint256("0x00eb64d91bb3dade131e3baf57fd40120586c0b08eea1852a2268b4eb4d87787")) },
7575
{ 1500, new CheckpointInfo(new uint256("0x21215e41cfa79a83b32c34419c9ff24712d5be48e2753ea58c80422432198f93"), new uint256("0x23e3130f9b7d4101a129c03792ac565f0850a6df475ac59bae77ae4761c6dc98")) },
@@ -80,7 +80,18 @@ internal class Main
8080
{ 20000, new CheckpointInfo(new uint256("0xb24fca13c138617da441b4a983e582557cda12fb778d7fae0994af01e3f3d252"), new uint256("0x35c3f5856f36fdc43ee7da31530e649966b924cf59e1fddd87d7ed7837b63073")) },
8181
{ 30000, new CheckpointInfo(new uint256("0x8e7f225cb9eed57d578a6edf98a61f4120d20f0b41032eef35b557c2ae3b1c5e"), new uint256("0xd204fc2c31a15f5e3c02a178d100d88d1c10d21087c7a321594590f471ea6e51")) },
8282
{ 50000, new CheckpointInfo(new uint256("0x6d0541ad988fb15b9b59a291f0beca1cd147dcc60e7503d4610f21aedeee4053"), new uint256("0x9fdfb977228155cb14c814e463f6280ece1961e873165dd9eadabbc523ee35fe")) },
83-
{ 70000, new CheckpointInfo(new uint256("0x3f3d906896235395d6e203a1967875ba9408cc56d9a49b75503ef507712a7642"), new uint256("0x989fe82bec93afd796121443e62dab9a20fdb81764f5b52fceff05b05b4a781a")) }
83+
{ 70000, new CheckpointInfo(new uint256("0x3f3d906896235395d6e203a1967875ba9408cc56d9a49b75503ef507712a7642"), new uint256("0x989fe82bec93afd796121443e62dab9a20fdb81764f5b52fceff05b05b4a781a")) },
84+
{ 100000, new CheckpointInfo(new uint256("0x17ecd5212e991836759d0968195ddc16580813ac13fb0a70b4983f589fb365ee"), new uint256("9d72ec78c445f07aec12c6996eed44363e0c31008517bc78e418ef4a6b5e5677")) },
85+
{ 150000, new CheckpointInfo(new uint256("0x97681da29d982934108a4668bdcfd6606656e3e5a7bc84f50c64780bd8fe451c"), new uint256("0xa1663164c8ffc87da70754258fe7c8cadd982619d51257df37dc52e8b648f2ad")) },
86+
{ 200000, new CheckpointInfo(new uint256("0xddd353e1ca10ddc0d0bb42a09e8448e7a08ad7fae954b7358e8a5ecb827a81c9"), new uint256("0xebfafd00ebedabe40401ecaae263b585146c797d33c4c7c793a4233e5c8b88fa")) },
87+
{ 250000, new CheckpointInfo(new uint256("0x06fea4881b80be581b5876353019dc3e8429c7321c71f2a1d0791ad4d15828e4"), new uint256("0x5d0aa1166d2c83cf8dc73142cb028a26c568b91c14566f35fdfaaba678d1fd99")) },
88+
{ 300000, new CheckpointInfo(new uint256("0x822e30a8b4ad4b6792c34ffbc397090ca59b52e2ac1cd4299f24afc2ffe38fb2"), new uint256("0x276f1f116a1c5332927a7585859fedadf7cee36099995e7a7b4ee1a19dc048b0")) },
89+
{ 400000, new CheckpointInfo(new uint256("0x67890776bfe224a098cbf90bb0b7b7e2ffe33acd2c34158a77d462a08f21a751"), new uint256("0x582ee64a508f319c4d9208de1ceb91649cebf8a691b6d95573f1ebb1951c5e31")) },
90+
{ 500000, new CheckpointInfo(new uint256("0x84b7e38b779365b3daa1d11007bfc4e155022a06da85e1be66885ae5b59aa9bf"), new uint256("0x9fc920ab363e4d916b4060e734de7f9be84dd4777f7b00d059848174381ff5e9")) },
91+
{ 600000, new CheckpointInfo(new uint256("0xac64cb247ccbc3b4077c7c6489124ec8895ca33dac39ac5ab0c833657e6c9df6"), new uint256("0xe2a8cc402d5f30eaa18f4591533fc17bc0f36874bc52f011723b8f786d4d6022")) },
92+
{ 700000, new CheckpointInfo(new uint256("0xec96224f7ea2352a158ec3af7415e37e86356951661c6d6456a998b6684c5c91"), new uint256("0xb36136b9a92fe62b8f76dd4d7df59c7ca85efd49bb8f4154f6b159926c590e7b")) },
93+
{ 800000, new CheckpointInfo(new uint256("0x8c72571334c5ed51e9332e1ba457cff5c920d54ef9b92a36602a350ca326790d"), new uint256("0xdce78ac613c81bc1908defcd674cfe32de5186db7c0635f1789eea7a5f9a0850")) },
94+
{ 900000, new CheckpointInfo(new uint256("0x9856449c51c92cba7a2d4ee505650b18e044e2eb8b56c300fe5700eabed9049e"), new uint256("0x89d63290966eeca6dca6144672f894bfde5b4894dd89e0f2f7cd8a94f77543de")) }
8495
};
8596
}
8697

302 KB
Loading
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<Authors>Blockcore</Authors>
5+
<AssemblyTitle>Blockcore.Networks.Molie</AssemblyTitle>
6+
<AssemblyName>Blockcore.Networks.Molie</AssemblyName>
7+
<PackageId>Blockcore.Networks.Molie</PackageId>
8+
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
9+
<IsPackable>true</IsPackable>
10+
</PropertyGroup>
11+
12+
<PropertyGroup>
13+
<LangVersion>latest</LangVersion>
14+
<PackageIcon>icon.png</PackageIcon>
15+
</PropertyGroup>
16+
17+
<ItemGroup>
18+
<EmbeddedResource Include="icon.png" />
19+
</ItemGroup>
20+
21+
<ItemGroup>
22+
<None Include="icon.png">
23+
<Pack>True</Pack>
24+
<PackagePath></PackagePath>
25+
</None>
26+
</ItemGroup>
27+
28+
<ItemGroup>
29+
<ProjectReference Include="..\..\Blockcore\Blockcore.csproj" />
30+
<ProjectReference Include="..\..\Features\Blockcore.Features.Consensus\Blockcore.Features.Consensus.csproj" />
31+
<ProjectReference Include="..\..\Features\Blockcore.Features.MemoryPool\Blockcore.Features.MemoryPool.csproj" />
32+
</ItemGroup>
33+
34+
</Project>
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
using Blockcore.Base.Deployments;
2+
using Blockcore.Consensus.ScriptInfo;
3+
using Blockcore.Consensus.TransactionInfo;
4+
5+
namespace Blockcore.Networks.Molie.Deployments
6+
{
7+
/// <summary>
8+
/// BIP9 deployments for the Blockcore sample coin network.
9+
/// </summary>
10+
public class MolieBIP9Deployments : BIP9DeploymentsArray
11+
{
12+
// 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.
13+
public const int CSV = 0;
14+
public const int Segwit = 1;
15+
public const int ColdStaking = 2; // TODO: Move this to the end of the deployments to leave room for others from Bitcoin?
16+
17+
// The number of deployments.
18+
public const int NumberOfDeployments = 3;
19+
20+
/// <summary>
21+
/// Constructs the BIP9 deployments array.
22+
/// </summary>
23+
public MolieBIP9Deployments() : base(NumberOfDeployments)
24+
{
25+
}
26+
27+
/// <summary>
28+
/// Gets the deployment flags to set when the deployment activates.
29+
/// </summary>
30+
/// <param name="deployment">The deployment number.</param>
31+
/// <returns>The deployment flags.</returns>
32+
public override BIP9DeploymentFlags GetFlags(int deployment)
33+
{
34+
// The flags get combined in the caller, so it is ok to make a fresh object here.
35+
var flags = new BIP9DeploymentFlags();
36+
37+
switch (deployment)
38+
{
39+
case ColdStaking:
40+
flags.ScriptFlags = ScriptVerify.CheckColdStakeVerify;
41+
break;
42+
43+
case CSV:
44+
// Start enforcing BIP68 (sequence locks), BIP112 (CHECKSEQUENCEVERIFY) and BIP113 (Median Time Past) using versionbits logic.
45+
flags.ScriptFlags = ScriptVerify.CheckSequenceVerify;
46+
flags.LockTimeFlags = Transaction.LockTimeFlags.VerifySequence | Transaction.LockTimeFlags.MedianTimePast;
47+
break;
48+
49+
case Segwit:
50+
// Start enforcing WITNESS rules using versionbits logic.
51+
flags.ScriptFlags = ScriptVerify.Witness;
52+
break;
53+
}
54+
55+
return flags;
56+
}
57+
}
58+
}

0 commit comments

Comments
 (0)