c# pow implementation work
This commit is contained in:
		
							parent
							
								
									60c1ec07e9
								
							
						
					
					
						commit
						499981ed52
					
				
					 5 changed files with 34 additions and 8 deletions
				
			
		|  | @ -1,5 +1,7 @@ | ||||||
| using System; | using System; | ||||||
| using System.Text; | using System.Text; | ||||||
|  | using System.IO; | ||||||
|  | using System.Collections.Generic; | ||||||
| 
 | 
 | ||||||
| using onionrpow; | using onionrpow; | ||||||
| 
 | 
 | ||||||
|  | @ -9,8 +11,18 @@ namespace onionrpow_cli | ||||||
|     { |     { | ||||||
|         static void Main(string[] args) |         static void Main(string[] args) | ||||||
|         { |         { | ||||||
|             Console.WriteLine("Hello World!"); | 
 | ||||||
|             onionrpow.OnionrPow.compute(Encoding.UTF8.GetBytes("test"), 4); |             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(), 3); | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ namespace onionrpow | ||||||
|         public static void compute(byte[] data, int difficulty){ |         public static void compute(byte[] data, int difficulty){ | ||||||
|             using (var shaAlg = SHA3.Net.Sha3.Sha3256()) |             using (var shaAlg = SHA3.Net.Sha3.Sha3256()) | ||||||
|             { |             { | ||||||
|                 // Replace beginning json with nonce |                 // Replace beginning json with counter | ||||||
|                 int counter = 0; |                 int counter = 0; | ||||||
|                 var copy = new List<byte>(); |                 var copy = new List<byte>(); | ||||||
| 
 | 
 | ||||||
|  | @ -25,12 +25,12 @@ namespace onionrpow | ||||||
|                     copy.Add(co); |                     copy.Add(co); | ||||||
|                 } |                 } | ||||||
|                 int c = 0; |                 int c = 0; | ||||||
|  |                 var copy2 = new List<byte>(); | ||||||
|                 while (true){ |                 while (true){ | ||||||
|                     toploop: |                     toploop: | ||||||
|                     c += 1; |                     c += 1; | ||||||
|                     var num = Encoding.UTF8.GetBytes("{\"pow\": " + c.ToString() + ","); |                     var num = Encoding.UTF8.GetBytes("{\"pow\": " + c.ToString() + ","); | ||||||
|                     var copy2 = new List<byte>(); |                     copy2.Clear(); | ||||||
| 
 |  | ||||||
|                     copy2.AddRange(num); |                     copy2.AddRange(num); | ||||||
|                     copy2.AddRange(copy); |                     copy2.AddRange(copy); | ||||||
|                     var hash = shaAlg.ComputeHash(copy2.ToArray()); |                     var hash = shaAlg.ComputeHash(copy2.ToArray()); | ||||||
|  | @ -45,7 +45,9 @@ namespace onionrpow | ||||||
|                             break; |                             break; | ||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
|  |                     Console.WriteLine(Encoding.UTF8.GetString(copy2.ToArray())); | ||||||
|                     Console.WriteLine(BitConverter.ToString(hash)); |                     Console.WriteLine(BitConverter.ToString(hash)); | ||||||
|  |                     Console.WriteLine(c); | ||||||
|                     break; |                     break; | ||||||
|                } |                } | ||||||
|             } |             } | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								scripts/testblock.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								scripts/testblock.py
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,12 @@ | ||||||
|  | #!/usr/bin/env python3 | ||||||
|  | 
 | ||||||
|  | import sys | ||||||
|  | import os | ||||||
|  | if not os.path.exists('onionr.sh'): | ||||||
|  |     os.chdir('../') | ||||||
|  | sys.path.append("src/") | ||||||
|  | import onionrblocks | ||||||
|  | 
 | ||||||
|  | expire = 600 | ||||||
|  | print(onionrblocks.insert(data=os.urandom(32), expire=expire)) | ||||||
|  | 
 | ||||||
|  | @ -113,7 +113,7 @@ class SubprocessPOW: | ||||||
|         nonce = 0 |         nonce = 0 | ||||||
|         data = self.data |         data = self.data | ||||||
|         metadata = self.metadata |         metadata = self.metadata | ||||||
|         metadata['nonce'] = secrets.randbits(16) |         metadata['n'] = secrets.randbits(16) | ||||||
|         puzzle = self.puzzle |         puzzle = self.puzzle | ||||||
|         difficulty = self.difficulty |         difficulty = self.difficulty | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -14,8 +14,8 @@ | ||||||
|         "hide_created_blocks": true, |         "hide_created_blocks": true, | ||||||
|         "insert_deniable_blocks": true, |         "insert_deniable_blocks": true, | ||||||
|         "max_block_age": 2678400, |         "max_block_age": 2678400, | ||||||
|         "minimum_block_pow": 5, |         "minimum_block_pow": 6, | ||||||
|         "minimum_send_pow": 5, |         "minimum_send_pow": 6, | ||||||
|         "public_key": "", |         "public_key": "", | ||||||
|         "random_bind_ip": true, |         "random_bind_ip": true, | ||||||
|         "security_level": 0, |         "security_level": 0, | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue