deleted csharppow and bumped version
This commit is contained in:
		
							parent
							
								
									10689f24d7
								
							
						
					
					
						commit
						d0baa7fd12
					
				
					 9 changed files with 1 additions and 650 deletions
				
			
		
							
								
								
									
										433
									
								
								pow-csharp/.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										433
									
								
								pow-csharp/.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,433 +0,0 @@ | ||||||
| ## Ignore Visual Studio temporary files, build results, and |  | ||||||
| ## files generated by popular Visual Studio add-ons. |  | ||||||
| ## |  | ||||||
| ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore |  | ||||||
| 
 |  | ||||||
| # User-specific files |  | ||||||
| *.rsuser |  | ||||||
| *.suo |  | ||||||
| *.user |  | ||||||
| *.userosscache |  | ||||||
| *.sln.docstates |  | ||||||
| 
 |  | ||||||
| # User-specific files (MonoDevelop/Xamarin Studio) |  | ||||||
| *.userprefs |  | ||||||
| 
 |  | ||||||
| # Mono auto generated files |  | ||||||
| mono_crash.* |  | ||||||
| 
 |  | ||||||
| # Build results |  | ||||||
| [Dd]ebug/ |  | ||||||
| [Dd]ebugPublic/ |  | ||||||
| [Rr]elease/ |  | ||||||
| [Rr]eleases/ |  | ||||||
| x64/ |  | ||||||
| x86/ |  | ||||||
| [Aa][Rr][Mm]/ |  | ||||||
| [Aa][Rr][Mm]64/ |  | ||||||
| bld/ |  | ||||||
| [Bb]in/ |  | ||||||
| [Oo]bj/ |  | ||||||
| [Ll]og/ |  | ||||||
| 
 |  | ||||||
| # Visual Studio 2015/2017 cache/options directory |  | ||||||
| .vs/ |  | ||||||
| # Uncomment if you have tasks that create the project's static files in wwwroot |  | ||||||
| #wwwroot/ |  | ||||||
| 
 |  | ||||||
| # Visual Studio 2017 auto generated files |  | ||||||
| Generated\ Files/ |  | ||||||
| 
 |  | ||||||
| # MSTest test Results |  | ||||||
| [Tt]est[Rr]esult*/ |  | ||||||
| [Bb]uild[Ll]og.* |  | ||||||
| 
 |  | ||||||
| # NUNIT |  | ||||||
| *.VisualState.xml |  | ||||||
| TestResult.xml |  | ||||||
| 
 |  | ||||||
| # Build Results of an ATL Project |  | ||||||
| [Dd]ebugPS/ |  | ||||||
| [Rr]eleasePS/ |  | ||||||
| dlldata.c |  | ||||||
| 
 |  | ||||||
| # Benchmark Results |  | ||||||
| BenchmarkDotNet.Artifacts/ |  | ||||||
| 
 |  | ||||||
| # .NET Core |  | ||||||
| project.lock.json |  | ||||||
| project.fragment.lock.json |  | ||||||
| artifacts/ |  | ||||||
| 
 |  | ||||||
| # StyleCop |  | ||||||
| StyleCopReport.xml |  | ||||||
| 
 |  | ||||||
| # Files built by Visual Studio |  | ||||||
| *_i.c |  | ||||||
| *_p.c |  | ||||||
| *_h.h |  | ||||||
| *.ilk |  | ||||||
| *.meta |  | ||||||
| *.obj |  | ||||||
| *.iobj |  | ||||||
| *.pch |  | ||||||
| *.pdb |  | ||||||
| *.ipdb |  | ||||||
| *.pgc |  | ||||||
| *.pgd |  | ||||||
| *.rsp |  | ||||||
| *.sbr |  | ||||||
| *.tlb |  | ||||||
| *.tli |  | ||||||
| *.tlh |  | ||||||
| *.tmp |  | ||||||
| *.tmp_proj |  | ||||||
| *_wpftmp.csproj |  | ||||||
| *.log |  | ||||||
| *.vspscc |  | ||||||
| *.vssscc |  | ||||||
| .builds |  | ||||||
| *.pidb |  | ||||||
| *.svclog |  | ||||||
| *.scc |  | ||||||
| 
 |  | ||||||
| # Chutzpah Test files |  | ||||||
| _Chutzpah* |  | ||||||
| 
 |  | ||||||
| # Visual C++ cache files |  | ||||||
| ipch/ |  | ||||||
| *.aps |  | ||||||
| *.ncb |  | ||||||
| *.opendb |  | ||||||
| *.opensdf |  | ||||||
| *.sdf |  | ||||||
| *.cachefile |  | ||||||
| *.VC.db |  | ||||||
| *.VC.VC.opendb |  | ||||||
| 
 |  | ||||||
| # Visual Studio profiler |  | ||||||
| *.psess |  | ||||||
| *.vsp |  | ||||||
| *.vspx |  | ||||||
| *.sap |  | ||||||
| 
 |  | ||||||
| # Visual Studio Trace Files |  | ||||||
| *.e2e |  | ||||||
| 
 |  | ||||||
| # TFS 2012 Local Workspace |  | ||||||
| $tf/ |  | ||||||
| 
 |  | ||||||
| # Guidance Automation Toolkit |  | ||||||
| *.gpState |  | ||||||
| 
 |  | ||||||
| # ReSharper is a .NET coding add-in |  | ||||||
| _ReSharper*/ |  | ||||||
| *.[Rr]e[Ss]harper |  | ||||||
| *.DotSettings.user |  | ||||||
| 
 |  | ||||||
| # JustCode is a .NET coding add-in |  | ||||||
| .JustCode |  | ||||||
| 
 |  | ||||||
| # TeamCity is a build add-in |  | ||||||
| _TeamCity* |  | ||||||
| 
 |  | ||||||
| # DotCover is a Code Coverage Tool |  | ||||||
| *.dotCover |  | ||||||
| 
 |  | ||||||
| # AxoCover is a Code Coverage Tool |  | ||||||
| .axoCover/* |  | ||||||
| !.axoCover/settings.json |  | ||||||
| 
 |  | ||||||
| # Visual Studio code coverage results |  | ||||||
| *.coverage |  | ||||||
| *.coveragexml |  | ||||||
| 
 |  | ||||||
| # NCrunch |  | ||||||
| _NCrunch_* |  | ||||||
| .*crunch*.local.xml |  | ||||||
| nCrunchTemp_* |  | ||||||
| 
 |  | ||||||
| # MightyMoose |  | ||||||
| *.mm.* |  | ||||||
| AutoTest.Net/ |  | ||||||
| 
 |  | ||||||
| # Web workbench (sass) |  | ||||||
| .sass-cache/ |  | ||||||
| 
 |  | ||||||
| # Installshield output folder |  | ||||||
| [Ee]xpress/ |  | ||||||
| 
 |  | ||||||
| # DocProject is a documentation generator add-in |  | ||||||
| DocProject/buildhelp/ |  | ||||||
| DocProject/Help/*.HxT |  | ||||||
| DocProject/Help/*.HxC |  | ||||||
| DocProject/Help/*.hhc |  | ||||||
| DocProject/Help/*.hhk |  | ||||||
| DocProject/Help/*.hhp |  | ||||||
| DocProject/Help/Html2 |  | ||||||
| DocProject/Help/html |  | ||||||
| 
 |  | ||||||
| # Click-Once directory |  | ||||||
| publish/ |  | ||||||
| 
 |  | ||||||
| # Publish Web Output |  | ||||||
| *.[Pp]ublish.xml |  | ||||||
| *.azurePubxml |  | ||||||
| # Note: Comment the next line if you want to checkin your web deploy settings, |  | ||||||
| # but database connection strings (with potential passwords) will be unencrypted |  | ||||||
| *.pubxml |  | ||||||
| *.publishproj |  | ||||||
| 
 |  | ||||||
| # Microsoft Azure Web App publish settings. Comment the next line if you want to |  | ||||||
| # checkin your Azure Web App publish settings, but sensitive information contained |  | ||||||
| # in these scripts will be unencrypted |  | ||||||
| PublishScripts/ |  | ||||||
| 
 |  | ||||||
| # NuGet Packages |  | ||||||
| *.nupkg |  | ||||||
| # The packages folder can be ignored because of Package Restore |  | ||||||
| **/[Pp]ackages/* |  | ||||||
| # except build/, which is used as an MSBuild target. |  | ||||||
| !**/[Pp]ackages/build/ |  | ||||||
| # Uncomment if necessary however generally it will be regenerated when needed |  | ||||||
| #!**/[Pp]ackages/repositories.config |  | ||||||
| # NuGet v3's project.json files produces more ignorable files |  | ||||||
| *.nuget.props |  | ||||||
| *.nuget.targets |  | ||||||
| 
 |  | ||||||
| # Microsoft Azure Build Output |  | ||||||
| csx/ |  | ||||||
| *.build.csdef |  | ||||||
| 
 |  | ||||||
| # Microsoft Azure Emulator |  | ||||||
| ecf/ |  | ||||||
| rcf/ |  | ||||||
| 
 |  | ||||||
| # Windows Store app package directories and files |  | ||||||
| AppPackages/ |  | ||||||
| BundleArtifacts/ |  | ||||||
| Package.StoreAssociation.xml |  | ||||||
| _pkginfo.txt |  | ||||||
| *.appx |  | ||||||
| *.appxbundle |  | ||||||
| *.appxupload |  | ||||||
| 
 |  | ||||||
| # Visual Studio cache files |  | ||||||
| # files ending in .cache can be ignored |  | ||||||
| *.[Cc]ache |  | ||||||
| # but keep track of directories ending in .cache |  | ||||||
| !?*.[Cc]ache/ |  | ||||||
| 
 |  | ||||||
| # Others |  | ||||||
| ClientBin/ |  | ||||||
| ~$* |  | ||||||
| *~ |  | ||||||
| *.dbmdl |  | ||||||
| *.dbproj.schemaview |  | ||||||
| *.jfm |  | ||||||
| *.pfx |  | ||||||
| *.publishsettings |  | ||||||
| orleans.codegen.cs |  | ||||||
| 
 |  | ||||||
| # Including strong name files can present a security risk |  | ||||||
| # (https://github.com/github/gitignore/pull/2483#issue-259490424) |  | ||||||
| #*.snk |  | ||||||
| 
 |  | ||||||
| # Since there are multiple workflows, uncomment next line to ignore bower_components |  | ||||||
| # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) |  | ||||||
| #bower_components/ |  | ||||||
| 
 |  | ||||||
| # RIA/Silverlight projects |  | ||||||
| Generated_Code/ |  | ||||||
| 
 |  | ||||||
| # Backup & report files from converting an old project file |  | ||||||
| # to a newer Visual Studio version. Backup files are not needed, |  | ||||||
| # because we have git ;-) |  | ||||||
| _UpgradeReport_Files/ |  | ||||||
| Backup*/ |  | ||||||
| UpgradeLog*.XML |  | ||||||
| UpgradeLog*.htm |  | ||||||
| ServiceFabricBackup/ |  | ||||||
| *.rptproj.bak |  | ||||||
| 
 |  | ||||||
| # SQL Server files |  | ||||||
| *.mdf |  | ||||||
| *.ldf |  | ||||||
| *.ndf |  | ||||||
| 
 |  | ||||||
| # Business Intelligence projects |  | ||||||
| *.rdl.data |  | ||||||
| *.bim.layout |  | ||||||
| *.bim_*.settings |  | ||||||
| *.rptproj.rsuser |  | ||||||
| *- Backup*.rdl |  | ||||||
| 
 |  | ||||||
| # Microsoft Fakes |  | ||||||
| FakesAssemblies/ |  | ||||||
| 
 |  | ||||||
| # GhostDoc plugin setting file |  | ||||||
| *.GhostDoc.xml |  | ||||||
| 
 |  | ||||||
| # Node.js Tools for Visual Studio |  | ||||||
| .ntvs_analysis.dat |  | ||||||
| node_modules/ |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 build log |  | ||||||
| *.plg |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 workspace options file |  | ||||||
| *.opt |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) |  | ||||||
| *.vbw |  | ||||||
| 
 |  | ||||||
| # Visual Studio LightSwitch build output |  | ||||||
| **/*.HTMLClient/GeneratedArtifacts |  | ||||||
| **/*.DesktopClient/GeneratedArtifacts |  | ||||||
| **/*.DesktopClient/ModelManifest.xml |  | ||||||
| **/*.Server/GeneratedArtifacts |  | ||||||
| **/*.Server/ModelManifest.xml |  | ||||||
| _Pvt_Extensions |  | ||||||
| 
 |  | ||||||
| # Paket dependency manager |  | ||||||
| .paket/paket.exe |  | ||||||
| paket-files/ |  | ||||||
| 
 |  | ||||||
| # FAKE - F# Make |  | ||||||
| .fake/ |  | ||||||
| 
 |  | ||||||
| # CodeRush personal settings |  | ||||||
| .cr/personal |  | ||||||
| 
 |  | ||||||
| # Python Tools for Visual Studio (PTVS) |  | ||||||
| __pycache__/ |  | ||||||
| *.pyc |  | ||||||
| 
 |  | ||||||
| # Cake - Uncomment if you are using it |  | ||||||
| # tools/** |  | ||||||
| # !tools/packages.config |  | ||||||
| 
 |  | ||||||
| # Tabs Studio |  | ||||||
| *.tss |  | ||||||
| 
 |  | ||||||
| # Telerik's JustMock configuration file |  | ||||||
| *.jmconfig |  | ||||||
| 
 |  | ||||||
| # BizTalk build output |  | ||||||
| *.btp.cs |  | ||||||
| *.btm.cs |  | ||||||
| *.odx.cs |  | ||||||
| *.xsd.cs |  | ||||||
| 
 |  | ||||||
| # OpenCover UI analysis results |  | ||||||
| OpenCover/ |  | ||||||
| 
 |  | ||||||
| # Azure Stream Analytics local run output |  | ||||||
| ASALocalRun/ |  | ||||||
| 
 |  | ||||||
| # MSBuild Binary and Structured Log |  | ||||||
| *.binlog |  | ||||||
| 
 |  | ||||||
| # NVidia Nsight GPU debugger configuration file |  | ||||||
| *.nvuser |  | ||||||
| 
 |  | ||||||
| # MFractors (Xamarin productivity tool) working folder |  | ||||||
| .mfractor/ |  | ||||||
| 
 |  | ||||||
| # Local History for Visual Studio |  | ||||||
| .localhistory/ |  | ||||||
| 
 |  | ||||||
| # BeatPulse healthcheck temp database |  | ||||||
| healthchecksdb |  | ||||||
| 
 |  | ||||||
| # Backup folder for Package Reference Convert tool in Visual Studio 2017 |  | ||||||
| MigrationBackup/ |  | ||||||
| 
 |  | ||||||
| ## |  | ||||||
| ## Visual studio for Mac |  | ||||||
| ## |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # globs |  | ||||||
| Makefile.in |  | ||||||
| *.userprefs |  | ||||||
| *.usertasks |  | ||||||
| config.make |  | ||||||
| config.status |  | ||||||
| aclocal.m4 |  | ||||||
| install-sh |  | ||||||
| autom4te.cache/ |  | ||||||
| *.tar.gz |  | ||||||
| tarballs/ |  | ||||||
| test-results/ |  | ||||||
| 
 |  | ||||||
| # Mac bundle stuff |  | ||||||
| *.dmg |  | ||||||
| *.app |  | ||||||
| 
 |  | ||||||
| # content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore |  | ||||||
| # General |  | ||||||
| .DS_Store |  | ||||||
| .AppleDouble |  | ||||||
| .LSOverride |  | ||||||
| 
 |  | ||||||
| # Icon must end with two \r |  | ||||||
| Icon |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Thumbnails |  | ||||||
| ._* |  | ||||||
| 
 |  | ||||||
| # Files that might appear in the root of a volume |  | ||||||
| .DocumentRevisions-V100 |  | ||||||
| .fseventsd |  | ||||||
| .Spotlight-V100 |  | ||||||
| .TemporaryItems |  | ||||||
| .Trashes |  | ||||||
| .VolumeIcon.icns |  | ||||||
| .com.apple.timemachine.donotpresent |  | ||||||
| 
 |  | ||||||
| # Directories potentially created on remote AFP share |  | ||||||
| .AppleDB |  | ||||||
| .AppleDesktop |  | ||||||
| Network Trash Folder |  | ||||||
| Temporary Items |  | ||||||
| .apdisk |  | ||||||
| 
 |  | ||||||
| # content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore |  | ||||||
| # Windows thumbnail cache files |  | ||||||
| Thumbs.db |  | ||||||
| ehthumbs.db |  | ||||||
| ehthumbs_vista.db |  | ||||||
| 
 |  | ||||||
| # Dump file |  | ||||||
| *.stackdump |  | ||||||
| 
 |  | ||||||
| # Folder config file |  | ||||||
| [Dd]esktop.ini |  | ||||||
| 
 |  | ||||||
| # Recycle Bin used on file shares |  | ||||||
| $RECYCLE.BIN/ |  | ||||||
| 
 |  | ||||||
| # Windows Installer files |  | ||||||
| *.cab |  | ||||||
| *.msi |  | ||||||
| *.msix |  | ||||||
| *.msm |  | ||||||
| *.msp |  | ||||||
| 
 |  | ||||||
| # Windows shortcuts |  | ||||||
| *.lnk |  | ||||||
| 
 |  | ||||||
| # JetBrains Rider |  | ||||||
| .idea/ |  | ||||||
| *.sln.iml |  | ||||||
| 
 |  | ||||||
| ## |  | ||||||
| ## Visual Studio Code |  | ||||||
| ## |  | ||||||
| .vscode/* |  | ||||||
| !.vscode/settings.json |  | ||||||
| !.vscode/tasks.json |  | ||||||
| !.vscode/launch.json |  | ||||||
| !.vscode/extensions.json |  | ||||||
|  | @ -1,18 +0,0 @@ | ||||||
| using NUnit.Framework; |  | ||||||
| 
 |  | ||||||
| namespace pow_csharp |  | ||||||
| { |  | ||||||
|     public class Tests |  | ||||||
|     { |  | ||||||
|         [SetUp] |  | ||||||
|         public void Setup() |  | ||||||
|         { |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         [Test] |  | ||||||
|         public void Test1() |  | ||||||
|         { |  | ||||||
|             Assert.Pass(); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  | @ -1,32 +0,0 @@ | ||||||
| using System; |  | ||||||
| using System.Text; |  | ||||||
| using System.IO; |  | ||||||
| using System.Collections.Generic; |  | ||||||
| 
 |  | ||||||
| using onionrpow; |  | ||||||
| 
 |  | ||||||
| namespace onionrpow_cli |  | ||||||
| { |  | ||||||
|     class Program |  | ||||||
|     { |  | ||||||
|         static void Main(string[] args) |  | ||||||
|         { |  | ||||||
| 
 |  | ||||||
|             TimeSpan t = DateTime.UtcNow - new DateTime(1970, 1, 1); |  | ||||||
|             int secondsSinceEpoch = (int)t.TotalSeconds; |  | ||||||
|             using (Stream stdin = Console.OpenStandardInput()) |  | ||||||
|             { |  | ||||||
|                 var data = new List<byte>(); |  | ||||||
|                 byte[] buffer = new byte[60000]; |  | ||||||
|                 int bytes; |  | ||||||
|                 while ((bytes = stdin.Read(buffer, 0, buffer.Length)) > 0) { |  | ||||||
|                     //stdout.Write(buffer, 0, bytes); |  | ||||||
|                     data.AddRange(buffer); |  | ||||||
|                 } |  | ||||||
|                 onionrpow.OnionrPow.compute(data.ToArray(), 2); |  | ||||||
|             } |  | ||||||
|             TimeSpan t2 = DateTime.UtcNow - new DateTime(1970, 1, 1); |  | ||||||
|             Console.WriteLine((int)t2.TotalSeconds - secondsSinceEpoch); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  | @ -1,13 +0,0 @@ | ||||||
| <Project Sdk="Microsoft.NET.Sdk"> |  | ||||||
| 
 |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ProjectReference Include="..\onionrpow\onionrpow.csproj" /> |  | ||||||
|   </ItemGroup> |  | ||||||
| 
 |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <OutputType>Exe</OutputType> |  | ||||||
|     <TargetFramework>netcoreapp3.1</TargetFramework> |  | ||||||
|     <RootNamespace>onionrpow_cli</RootNamespace> |  | ||||||
|   </PropertyGroup> |  | ||||||
| 
 |  | ||||||
| </Project> |  | ||||||
|  | @ -1,124 +0,0 @@ | ||||||
| using System; |  | ||||||
| using System.Text; |  | ||||||
| using System.Linq; |  | ||||||
| using System.Collections.Generic; |  | ||||||
| using System.Security.Cryptography; |  | ||||||
| using Newtonsoft.Json; |  | ||||||
| using SHA3; |  | ||||||
| 
 |  | ||||||
| namespace onionrpow |  | ||||||
| { |  | ||||||
| 
 |  | ||||||
|     public class Meta{ |  | ||||||
|         public string ch { get; set; } |  | ||||||
|         public string type { get; set; } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     public class Block{ |  | ||||||
|         public string meta { get; set; } |  | ||||||
|         public string sig { get; set; } |  | ||||||
|         public string signer { get; set; } |  | ||||||
| 
 |  | ||||||
|         public int n; |  | ||||||
|         public int c; |  | ||||||
|         public int time; |  | ||||||
| 
 |  | ||||||
|         //public List<byte> data { get; set; } |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
|     public class OnionrPow |  | ||||||
|     { |  | ||||||
|         public static void compute(byte[] data, int difficulty){ |  | ||||||
|             using (var shaAlg = SHA3.Net.Sha3.Sha3256()) |  | ||||||
|             //using (SHA256 shaAlg = SHA256.Create()) |  | ||||||
|             { |  | ||||||
|                 string stringData = Encoding.UTF8.GetString(data); |  | ||||||
|                 bool found = false; |  | ||||||
|                 var justData = new List<byte>(); |  | ||||||
|                 var metadataJson = new List<byte>(); |  | ||||||
|                 int counter = 0; |  | ||||||
|                 foreach(char c in stringData){ |  | ||||||
|                     if (found){ |  | ||||||
|                         justData.Add((byte) c); |  | ||||||
|                     } |  | ||||||
|                     else if (c == '\n'){ |  | ||||||
|                         for (int i = 0; i < counter + 1; i++){ |  | ||||||
|                             metadataJson.Add(data[i]); |  | ||||||
|                         } |  | ||||||
|                         found = true; |  | ||||||
|                     } |  | ||||||
|                     else{ |  | ||||||
|                         //Console.WriteLine(c.ToString()); |  | ||||||
|                     } |  | ||||||
|                     counter += 1; |  | ||||||
|                 } |  | ||||||
|                 Block block = JsonConvert.DeserializeObject<Block>(Encoding.UTF8.GetString(metadataJson.ToArray())); |  | ||||||
|                 block.n = new Random().Next(10000); |  | ||||||
|                 block.c = 0; |  | ||||||
| 
 |  | ||||||
|                 metadataJson.Clear(); |  | ||||||
|                 metadataJson.AddRange(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(block))); |  | ||||||
|                 int location = Encoding.UTF8.GetString(metadataJson.ToArray()).IndexOf("\"c\":"); |  | ||||||
| 
 |  | ||||||
|                 var metadata1 = new List<byte>(); |  | ||||||
|                 var metadata2 = new List<byte>(); |  | ||||||
|                 var countKey = new List<byte>(); |  | ||||||
|                 countKey.AddRange(Encoding.UTF8.GetBytes("\"c\":")); |  | ||||||
| 
 |  | ||||||
|                 bool afterNum = false; |  | ||||||
|                 for (int i = location + 4; i < metadataJson.Count; i++){ |  | ||||||
|                     if (!afterNum && ((char) metadataJson[i]).Equals(',')){ |  | ||||||
|                         afterNum = true; |  | ||||||
|                         continue; |  | ||||||
|                     } |  | ||||||
|                     if (afterNum){ |  | ||||||
|                         metadata2.Add(metadataJson[i]); |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|                 for (int i = 0; i < location; i++){ |  | ||||||
|                     metadata1.Add(metadataJson[i]); |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
|                 var preCompiled = new List<byte>(); |  | ||||||
|                 preCompiled.AddRange(metadata1); |  | ||||||
|                 preCompiled.AddRange(countKey); |  | ||||||
|                 int powCounter = 0; |  | ||||||
| 
 |  | ||||||
|                 var justDataArray = justData.ToArray(); |  | ||||||
|                 justData.Clear(); |  | ||||||
|                 int difficultyCounter = 0; |  | ||||||
|                 while(true){ |  | ||||||
|                     var compiled = preCompiled.ToList(); |  | ||||||
|                     compiled.AddRange(metadata1); |  | ||||||
|                     compiled.AddRange(Encoding.UTF8.GetBytes(powCounter.ToString())); |  | ||||||
|                     compiled.AddRange(metadata2); |  | ||||||
|                     compiled.AddRange(justDataArray); |  | ||||||
|                     var hash = shaAlg.ComputeHash(compiled.ToArray()); |  | ||||||
|                     foreach (byte b in hash){ |  | ||||||
|                         if (b == 0){ |  | ||||||
|                             difficultyCounter += 1; |  | ||||||
|                             if (difficultyCounter == difficulty){ |  | ||||||
|                                 Console.WriteLine(powCounter); |  | ||||||
|                                 Console.WriteLine(BitConverter.ToString(hash)); |  | ||||||
|                                 goto powDone; |  | ||||||
|                             } |  | ||||||
|                             continue; |  | ||||||
|                         } |  | ||||||
|                         difficultyCounter = 0; |  | ||||||
|                         break; |  | ||||||
|                     } |  | ||||||
|                     //Console.WriteLine(powCounter); |  | ||||||
|                     powCounter += 1; |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|                 //Console.WriteLine(location); |  | ||||||
|                 //Console.WriteLine(Encoding.UTF8.GetString(metadataJson.ToArray())); |  | ||||||
|             } |  | ||||||
|             powDone:; |  | ||||||
|         } |  | ||||||
|         //b'{"meta":"{\\"ch\\":\\"global\\",\\"type\\":\\"brd\\"}","sig":"pR4qmKGGCdnyNyZRlhGfF9GC7bONCsEnY04lTfiVuTHexPJypOqmxe9iyDQQqdR+PB2gwWuNqGMs5O8\\/S\\/hsCA==","signer":"UO74AP5LGQFI7EJTN6NAVINIPU2XO2KA7CAS6KSWGWAY5XIB5SUA====","time":1600542238,"pow":300182}\nxcvxcvvxcxcv' |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  | @ -1,12 +0,0 @@ | ||||||
| <Project Sdk="Microsoft.NET.Sdk"> |  | ||||||
| 
 |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <TargetFramework>netstandard2.0</TargetFramework> |  | ||||||
|   </PropertyGroup> |  | ||||||
| 
 |  | ||||||
|   <ItemGroup> |  | ||||||
|     <PackageReference Include="Newtonsoft.Json" Version="12.0.3" /> |  | ||||||
|     <PackageReference Include="SHA3.Net" Version="1.2.3" /> |  | ||||||
|   </ItemGroup> |  | ||||||
| 
 |  | ||||||
| </Project> |  | ||||||
|  | @ -1,16 +0,0 @@ | ||||||
| <Project Sdk="Microsoft.NET.Sdk"> |  | ||||||
| 
 |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <TargetFramework>netcoreapp3.1</TargetFramework> |  | ||||||
|     <RootNamespace>pow_csharp</RootNamespace> |  | ||||||
| 
 |  | ||||||
|     <IsPackable>false</IsPackable> |  | ||||||
|   </PropertyGroup> |  | ||||||
| 
 |  | ||||||
|   <ItemGroup> |  | ||||||
|     <PackageReference Include="NUnit" Version="3.12.0" /> |  | ||||||
|     <PackageReference Include="NUnit3TestAdapter" Version="3.16.1" /> |  | ||||||
|     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0"/> |  | ||||||
|   </ItemGroup> |  | ||||||
| 
 |  | ||||||
| </Project> |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| print('{"meta":"{\\"ch\\":\\"global\\",\\"type\\":\\"brd\\"}","sig":"pR4qmKGGCdnyNyZRlhGfF9GC7bONCsEnY04lTfiVuTHexPJypOqmxe9iyDQQqdR+PB2gwWuNqGMs5O8\\/S\\/hsCA==","signer":"UO74AP5LGQFI7EJTN6NAVINIPU2XO2KA7CAS6KSWGWAY5XIB5SUA====","time":1600542238,"pow":300182}\nxcvxcvvxcxcv') |  | ||||||
|  | @ -23,7 +23,7 @@ import filepaths | ||||||
| DENIABLE_PEER_ADDRESS = "OVPCZLOXD6DC5JHX4EQ3PSOGAZ3T24F75HQLIUZSDSMYPEOXCPFA" | DENIABLE_PEER_ADDRESS = "OVPCZLOXD6DC5JHX4EQ3PSOGAZ3T24F75HQLIUZSDSMYPEOXCPFA" | ||||||
| PASSWORD_LENGTH = 25 | PASSWORD_LENGTH = 25 | ||||||
| ONIONR_TAGLINE = 'Private P2P Communication - GPLv3 - https://Onionr.net' | ONIONR_TAGLINE = 'Private P2P Communication - GPLv3 - https://Onionr.net' | ||||||
| ONIONR_VERSION = '5.3.0' | ONIONR_VERSION = '6.0.0' | ||||||
| ONIONR_VERSION_CODENAME = 'Genesis' | ONIONR_VERSION_CODENAME = 'Genesis' | ||||||
| ONIONR_VERSION_TUPLE = tuple(ONIONR_VERSION.split('.')) # (MAJOR, MINOR, VERSION) | ONIONR_VERSION_TUPLE = tuple(ONIONR_VERSION.split('.')) # (MAJOR, MINOR, VERSION) | ||||||
| API_VERSION = '4' # increments of 1; only change when something fundamental about how the API works changes. This way other nodes know how to communicate without learning too much information about you. | API_VERSION = '4' # increments of 1; only change when something fundamental about how the API works changes. This way other nodes know how to communicate without learning too much information about you. | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue