blockchain

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
blockchain [2017/10/19 07:21] – [Glossary] stephenblockchain [2017/12/01 01:19] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Blockchain ====== ====== Blockchain ======
 +
 +===== Links =====
 +
 +  * [[https://nethereum.readthedocs.io/en/latest/|Nethereum Documentation]]
 +  * [[https://github.com/ethereumjs/testrpc#usage|Testrpc command line options]]
 +  * [[https://stackoverflow.com/questions/47543679/how-do-i-compile-a-solidity-contract-with-an-import-to-standalone-byte-code|How do I compile a Solidity contract with an import to standalone byte code?]]
 +
 +===== General Notes =====
 +
 +  * Make sure the constructor of the contract has the correct access modifiers:
 +<code>
 +function MegaContract() public payable {
 +</code>
 +
 +==== Security ====
 +
 +To do anything that requires gas, either unlock the account beforehand with the password:
 +
 +<code>
 +var address = "...";
 +var password = "...";
 +var web3 = new Web3();
 +var unlockAccountResult = await web3.Personal.UnlockAccount.SendRequestAsync(address, password, 120);
 +Assert.IsTrue(unlockAccountResult);
 +</code>
 +
 +Or use the private key to create the Web3 object:
 +
 +<code>
 +var privateKey = "...";
 +var web3 = new Web3(new Account(privateKey));
 +</code>
 +
 +===== Questions =====
 +
 +  * [[https://stackoverflow.com/questions/47543679/how-do-i-compile-a-solidity-contract-with-an-import-to-standalone-byte-code|How do I compile a Solidity contract with an import to standalone byte code?]]
 +  * How to I get the result of calling an external function with Nethereum?
  
 ===== Tool Set Install ===== ===== Tool Set Install =====
Line 30: Line 67:
 ===== Implementations of Ethereum blockchange ===== ===== Implementations of Ethereum blockchange =====
  
-^ Implementation ^ Language ^ +^ Implementation ^ Language ^ Pruning ^ Notes 
-| Geth | Go | +| Geth | Go | Yes | 
-| Parity | Rust | +| Parity | Rust | Yes | 
-| EthereumJ | Java | +| EthereumJ | Java | Yes | 
-| Eth | C++ | +| Eth | C++ | No | Reference implementation is meant for developers only. 
-| PyEthApp | Python|+| PyEthApp | Python | No | |
  
 ===== Glossary ===== ===== Glossary =====
  
-| ABI | Application Binary Interface. Is basically how you call functions in a contract and get data back. | +| ABI | Application Binary Interface. Is basically how you call functions in a contract and get data back. Like a WSDL or .h file in C. | 
-Geth, eth or parity | ??? |+ 
 +===== VS Code ===== 
 + 
 +Use the [[https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity|Solidity]] extension. 
 +  * F5 - Compilation of the current contract  
 +  * Ctrl + F5 - Compilation of all the contracts 
 + 
 +===== Nethereum ===== 
 + 
 +Start with [[https://www.nuget.org/packages/Nethereum.Web3/|Nethereum.Web3]]. 
 + 
 +==== Tutorial ==== 
 + 
 +Video is [[https://www.youtube.com/watch?v=4t5Z3eX59k4|here]]. 
 + 
 +  - [VS Code] Write contract 
 +  - [VS Code] Compile contract 
 +  - [Command Line] Start Geth 
 +  - [VS] Create unit test project. 
 +  - [VS] NuGet install Nethereum.Web3 + dependencies. 
 + 
 +===== Dev VM ===== 
 + 
 +Geth's encrypted accounts key store files can be found in ''%APPDATA%/Ethereum''
 + 
 +==== Run Geth ====
  
 +  - Open a //separate// DOS ConEmu.
 +  - [ConEmu DOS] Run the command, ''C:\Users\TallGuy-DevVm\Dev\Geth\startgeth.bat''
 +  - Open a //separate// Admin PowerShell ConEmu.
 +  - [ConEmu PowerShell] Run the command, ''(Get-Process geth).PriorityClass = <nowiki>"BelowNormal"</nowiki>''
  
  
blockchain.1508397671.txt.gz · Last modified: 2017/10/20 08:21 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki