nhutphan
Member
Offline
Activity: 108
Merit: 10
|
|
March 19, 2016, 08:36:40 PM |
|
COMING SOON... SOILsafe Next GenerationProps to frozeman and alexvandesande- Gsoil included (You will no longer need start gsoil separately)
- Contract deployment
- Custom tokens
- Multisignature wallets
- Solidity compiler included
- ...
Port is nearly done. Abvhiael and me will put to the acid test now. Wow!!! You guys make my weekend so busy. Can't leave my computer at this time
|
Sell GTX750ti - GTX960 - GTX970 - HD7950 iceq... Please pm here.
|
|
|
m4nki
|
|
March 19, 2016, 09:01:06 PM |
|
Looking forward to it! Great work!
|
|
|
|
|
abvhiael
|
|
March 21, 2016, 02:36:57 AM |
|
came across this random blog post today, regarding the paradigm of ethereum, which helps explain too the way i look at SOILcoin: https://medium.com/@davidhq/what-is-ethereum-caeb8f99cdff#.rd4y8axgsi love some of the viewpoints in the article: At the end Ethereum is an incredible, never seen before computer, but on the other hand it’s just a computer. It is not intelligent in the traditional sense and will never be artificially intelligent. With our help it can be naturally intelligent.
and describing why smart contracts are important, and why IMPORTANT smart contracts will rise to the top, not for the riches they might make someone but because of their UTILITY. with the "dust" dapp/wallet peter released, which is based on the latest Homestead-ready beta from Ethereum, is really useful in working with contracts, from compiling to deploying to interacting and then watching them. you can interact with any solidity built contract by watching it, needing only its contract address and JSON interactions. theres a reason why the EVM is important, and whats been built (and paralleled with purpose by SOILcoin) truly disrupts the POTENTIAL of things. Bitcoin seeded the crucial innovation that some other projects picked upon and extended much further. While Bitcoin was invented for trustless finance, Ethereum is a general platform for trustless computing.
|
|
|
|
abvhiael
|
|
March 21, 2016, 09:34:14 PM |
|
Going with our release of DUST, ive written up a (comprehensive) overview of the application which ill post in a small series of posts, with an explanation on a lot of its specific functionalities. DUST - an overview - PART1DUST s the SOILcoin implementation of the Ethereum browser, Mist. We are presently using the Beta9 release which has been optimized for the Homestead release protocols. Presently, we have released the Windows 64bit wallet package. See the link in the OP. Linux and MAC OS wallets should be made available in the near future. Firstly, you will notice on the main Wallets page that there are two types of wallets available with DUST: Externally Owned Accounts (simply: Accounts) and Wallet Contracts. ACCOUNTS AND WALLETSIf you are new to SOILcoin, before setting up your accounts, you will need to let DUST sync to the SOILnet blockchain. At present (March 2016) this is approximately 700MB in size, and should, with average broadband connections, take about an hour. Most DUST transactions will fail if your node is not fully synced with the network, or will take much longer to show through its confirmations. Along the top banner of the Accounts Overview screen you will find information relating to the current synced status of your node. *To check that all is copacetic and that you have the latest block, compare this displayed information with what is listed on the SOILcoin Network Intelligence page at stats.soilcoin.xyz * If your syncing process seems stalled or you drop out to 0 peers for an extended length of time, try closing and restarting the DUST application. If this doesnt help, make sure your computer's clock is accurate. When syncing is complete, choose the Start Using SOIL link, which will lead you thru the account creation process. When setting up an account use a strong password. Do not forget this password!! You will not be able to access this Account, including any SOIL you send to it, without this password. This applies to all Accounts; you must know the password of the Account before you use it to perform transactions. The opening page displayed will list your wallet accounts, the one marked as ETHERBASE is your default (0) account. To change any wallet account's listed name, choose the edit icon to the immediate right of the wallet name. Each wallet address is also identified with a colourful little unique Identicon, which is a visual representation of a hash value, your SOILcoin hexidecimal address, which serves to identify the wallet account address in a form of an avatar, which is unique for each address. The Keyfile which stores your single private key/address pair are not stored in the DUST directory on your computer, but are found in the keystore subdirectory of your SOILcoin node’s data directory. For Windows, this is at: C:\Users\username\%appdata%\Roaming\Soil Inside the keystore subdirectory, you will find one keyfile for each of the Accounts you have created. You must have an Account’s keyfile to be able to send any transaction from that Account, including contract creation and interaction. In other words, if you delete your keyfile and do not have access to a backup copy, any SOIL you have stored with that Account is lost forever. Each keyfile is a JSON text file which you can open and view in any text editor. The critical component of the keyfile is your Account’s private key. Importantly, this private key is always encrypted with the password you entered when you created the Account. To backup your keyfiles (Accounts): Copy either the individual keyfiles within the keystore subdirectory or copy the entire keystore folder. You can get directly to the keystore subdirectory by selecting the Accounts / Backup menu from the Menu bar of DUST, and then select "Accounts". Copy onto a USB stick, data card, or whatever removable media you are most comfortable with and store it safely. Selecting "Application Data" will back up your watched contracts, outgoing Account transactions, etc.
To restore your keyfiles: Copy the keyfiles back into the keystore subdirectory, where they were originally.
DUST also contains some security features to warn you if an entered SOILcoin address is either illegitimate or may be incorrect. SOIL sent to incorrectly entered addresses are not retrievable and are lost into the "aether". The Beta9 Homestead-ready version of Mist that we have ported over to the SOILcoin ecosphere adds an extra layer of security which makes it extremely difficult to enter an incorrect address by mistyping. This is possible through the use of checksum enabled addresses. SOILcoin addresses are case insensitive hexidecimal strings. The most commonly recognized format, in how one's wallet has been consistently displayed in SOILsafe until now has featured a 44-character long string beginning in "0x" followed by a series of numbers ranging from 0-9, and lower case letters, ranging from a-f. (i.e.: 0xe46731382fbc47621a6c480d4b6118026bbbcb3a) This can also be represented with entirely upper case letters as well. A third option, is to display the address in a mix of upper and lower case letters. (i.e.:0xe46731382FbC47621A6C480d4b6118026bBBCb3A). This is a checksum enabled address. Notice that the addresses displayed in "Beta9" are all presented in this manner. They are the same account addresses as the original format. This checksum security implementation is backwards-compatible, meaning that original, all lower-case or all upper-case addresses can still be used as before. DUST will warn you if you enter an address with no checksum security. NOTE You should always copy/paste when you input a hexidecimal SOILcoin address, making the above security features much less necessary. But on occasion, when you are forced to type in an address manually, these security features can prevent asset losses.
TRANSACTION FEES... "GAS"You will incur a cost when you execute a transaction on the SOILcoin blockchain. Gas is the unit in which this transaction cost is denoted. When you do a plain SOIL transfer from one Account to another Account, the transaction cost is 21,000 gas. You pay for gas with ether. The cost in SOIL of one unit of gas is determined dynamically by the SOILcoin network. This gas price can be viewed on the Network Intelligence page. In January 2016, 1 unit of gas cost 0.0000005 SOIL. So a 21,000 gas transaction like the ether transfer you just did, would cost 0.00605 SOIL. Different types of transactions will incur different gas costs. The Wallet App will estimate the cost of the transaction you are about to execute, and allow you to increase or decrease this overall cost at the expense or benefit of quicker confirmation times. Any excess fee in that estimate will be refunded to your sending Account immediately upon execution. TRANSACTION LISTThe transaction list will not show transactions in which any of your Accounts has received SOIL from a wallet that is not listed in your Wallet App. The balance of your receiving Account will be immediately updated and displayed correctly even though the transaction is not listed. Out-migrating transactions, including contract creation and asset transfer will be included in the Transaction list. To see the details of a transaction, click on the particular transaction in this list to display the Transaction Box. Click on the Transaction hash or the Block hash to open an ABEE SOILcoin Block Explorer tab in your browser which will confirm and present much more information relating to the transaction..
|
|
|
|
abvhiael
|
|
March 21, 2016, 09:35:31 PM |
|
DUST - an overview - PART2CONTRACT ACCOUNTS AND WALLETSWhile an Account has a password-protected private key associated with its address, a Contract Account has no private key, but it does have an address, code, and is stored on the blockchain. Contract Wallets (or contract-based wallets) are built with Contract Accounts, which are controlled by smart contracts, which makes it possible to customize their behavior. You will not have to do any the coding yourself; the Contract Wallets come pre-built with a user interface that makes it easy to select the type of required security enhancment customization. Contract Wallets are controlled by smart contracts but this code also has a master, which is the Account used to deploy the Contract Wallet, with its password-protected private key. These Contract Wallets list incoming transactions; something Accounts do not feature. They can be setup as Multi-sig Wallets, which can be structured such that it can permit a specified daily limit, and only if this daily limit is exceeded will multiple signatures be required. A Multi-sig Wallet has several owner Accounts, which are set up when the Contract Wallet is created, one of which will be the creator Account. Contract Wallets can also be setup as “Watch-Only” Wallets. MULTI-SIG WALLETSThese are M-of-N type wallets, where more than one private key is required to have full access to the funds held. In a typical scenario, there can be up to three owner Accounts where two of three signatories (owners) are required to authorize outgoing transactions, making it a 2-of-3 Multisig Wallet. 2-of-2 Multisig Wallets are also usable, where BOTH signatories of the Contract Wallet are needed to authorize disbursement of funds. In practice, Multi-sig Wallets have two typical use cases. Either, you own some SOIL and want to store it more securely, concerned that simple reliance on a single private-key may not meet one's safety needs. Creation of a Multisig Wallet where all the owner Accounts are under your control, that is, you control all the private keys serves this need. Or, you set up a Multi-sig Account jointly owned by two or three people, each of whom control their own single private-key used to authorize the wallet. None of the other Multi-Sig Wallet owners has access to the other person’s privat-key. When you spend from a Multi-sig Wallet, all the signing (owner) Accounts must have enough SOIL in them to pay for gas costs to complete the Approval transaction. If not, you will have to revoke the transaction, which will itself incur a revocation cost. To process a transaction from a Multi-sig wallet, if you are the sole owner of all the signing Accounts:
Start by following the usual procedure to spend from any wallet. You will see a message below the AMOUNT field informing you whether you are within or have exceeded the daily limit. Should your transaction exceed the set daily limit, requiring the full quota of signatures to authorize the spend.
When you click the SEND button, you will see the Execute Contract window asking for the password to one of the owners Accounts. Once you enter the password and press Enter, you will be presented with a second screen asking you to APPROVE or REVOKE the transaction.
On selecting APPROVE you will be asked to select the second signing Account and then enter its password.
To process a transaction from a Multi-sig wallet, if there are multiple wallet owner Accounts belonging to separate individuals, the first step is to ensure that all Wallet Apps participating in the approval/signing of the multi-sig transaction have already imported the Multi-sig Wallet. Each signatory of the Multi-sig wallet will need to import the Contract Wallet using the DUST Wallet App. All that is needed to import the Multi-sig Wallet is the wallet’s address. To import a Multisig Wallet into the Wallet App:
Click on ADD WALLET CONTRACT, then select IMPORT WALLET and paste the address of the Multi-sig Wallet in the Wallet Address field. Enter the name of the wallet.
If the importing Wallet App has an owner Account of this Multisig Wallet, DUST will generate a corresponding message, with the option to "Import Wallet". Selecting CREATE will complete importing the Multi-Sig Contract Wallet.
To complete the Approval process for a Multi-sig wallet requiring more than one unique individual's signature, follow the initial steps from the example above until you arrive at the Confirmation Needed screen in the Wallet App that initiated the transaction. Simultaneously, the other Wallet App associated with the second (and third, if necessary) owner Accounts will display the Confirmation Needed screen in their DUST wallet. Secondary signatories will also click APPROVE in the confirming Wallet App and enter the required password. The LATEST TRANSACTIONS pane in both Wallet Apps will show the transaction being confirmed. CREATING WATCH-ONLY WALLETSIf you import a Contract Wallet (either Simple Wallet or Multisig Wallet), following the procedure described above, and your Wallet App does NOT have access to the keyfiles of the signatory owner Accounts, then you will create a Watch-Only Wallet. An eye-like icon next to the wallet name denotes a Watch-Only Wallet. Watch-Only Wallets update immediately as the linked wallet’s balance changes.
|
|
|
|
abvhiael
|
|
March 21, 2016, 09:37:44 PM |
|
DUST - an overview - PART3 THE CONTRACTS PAGE
All contract upload and token management is done under the "CONTRACTS" tab. There are three initial interfaces on the Contracts page, Deploy New Contract, Watch Contract and Watch Token.
DEPLOY NEW CONTRACT
DUST has a built-in soldity compiler which makes deploying a contract written in that language, and more importantly, effectively interacting with it once deployed, is one of the best features in the DUST dApp/wallet. You can choose which account wallet from your list with which you wish to deploy the contract with, and will use your password when you are approving the transaction at the end of the process. You can also endow a contract with SOIL by sending along an amount funds along with the contract creation. This is useful when your contract self-executes and uses gas to make programmatic transactions outside of direct user interaction.
You can copy/paste the solidity contract source code in high level language in the appropriate pane, which you can find in many GitHub repositories for various smart contracts and dApp projects related to the Ethereum-based Virtual Machine. You can also copy/paste the compiled contract byte code which can be obtained from other solidity compiler services and applications. This is useful, as smart contracts presented in other EVM recognized languages, such as Serpent of LLL, can be compiled separately and paste the resultant byte code into DUST to deploy the contract.
There are links to the right with sample contracts you can begin working with. "Create a Token" will help you deploy token.sol, an account wallet owned subcurrency that will be registered onto the SOILcoin blockchain. After a few moments, the compiled code will have functions displayed to set Constructor Parameters. This contract produces four variables you can build in to your token incarnation. Initial supply will be the number of UNITS of currency you will produce, token name is your chosen subcurrency name.
Decimal units is the number of divisibility you wish for your token. For example, if you mint for 1,00,000 units of subcurrency STAR, and give it 2 decimal units, you would be provided with 10,000.00 tokens, with the smallest unit of currency being 0.01 STAR. Token symbol is the symbol by which your token will be assosciated. Think of a ticker symbol for a cryptocurrency on an online exchange, generally a short grouping of letters e.g.: SOIL, BTC, ETH. You can also use unicode characters as well, e.g.: ★, Ω, 不.
Once these parameters have been set, you can choose the total gas costs you are willing to pay for execution of this code. You can choose a cheaper deployment with a longer wait for the contract to be mined, or a hgher rate to rush the computations. Finally select the DEPLOY button.
This will bring up the Confirmation Screen, with the estimated and maximum fees in gas for deployment, gas price and included data, represented in byte code, included in the transaction. Enter in the deploying wallet account's private key and SEND TRANSACTION.
The Wallets page will open, and your contract's deployment status will show up in the Latest Transactions pane. When the contract is mined, it will begin to count down 12 confirmations, after which you can consider that the contract was not deployed on an uncled chain and is in the SOILcoin blockchain securely.
Your token name will appear as the contract address when it is mined. You can choose to interact with this contract by clicking on the transaction bar, in its immediate listing in your Custom Contracts menu on the Contracts page, as well as, being a token contract, it will be added to your Watched Tokens list as well. The ownership and listing of whole unit and symbol (e.g. STAR 10,000.00 ★) will also be included on the home page of the deploying wallet account.
The other example contracts can be deployed in a similar fashion, as well as those found on repositories and the like.
WATCH CONTRACT With the contract address and JSON interface information for a smart contract, you can watch a contract on the blockchain. This is the information you would need to provide anyone you want to have simple interface with your contract. Contracts you deploy yourself will be automatically saved to your "Custom Contracts" so you won't need to bother with the JSON Interface.
WATCH TOKEN Choosing the Watch Token menu button will open a token editor screen for tokens that you own. This will allow you to edit the token name, symbol, and decimal places of the smallest unit.
|
|
|
|
abvhiael
|
|
March 21, 2016, 09:39:24 PM Last edit: March 21, 2016, 10:07:20 PM by abvhiael |
|
DUST - an overview- PART4 THE CONTRACT INTERFACE
When you choose a contract address under your Custom Contracts, those written and compiled with Solidity will have contract interface controls available as drop down menus. Using the previous example, token.sol, it produces the STAR (Admin Page) with the capabilities of reading from and writing to the token contract.
This will give you the token name, symbol and decimals as well as an input variable to see the unit balance of the token on any SOILcoin address. If you copy/paste your deploying wallet address into the variable field, after deploying the parameters in teh above example, it would show the token owner as having a balance of 1000000 STAR (10,000.00)
Writing to the contract reveals a Function Selector drop down menu. These functions reflect the function calls from teh original contract and with the token.sol contract, you can make transactions that will allow you to transfers to or from another SOILcoin address, as well as Approve and Call a third-party spender address.
The buttons on the upper right of the screen will allow you to simply deposit this token to any address, produce a QR-code for the token, and pull up its JSON interface file.
Each contract will have different parameters and callable functions. With other solidity language compiled smart contracts, they will be available to be interacted from these pages.
***
|
|
|
|
abvhiael
|
|
March 21, 2016, 09:41:25 PM Last edit: March 21, 2016, 09:59:40 PM by abvhiael |
|
DUST - an overview -PART5If you want to interact with the token referenced in this guide, the STAR token ("★") was deployed with 1,000,000 units and 2 decimal places, creating 10,000 whole units. I sent a transaction of 10 SOIL to the account, "backing" the STAR token with that amount. Essentially, each ★ is thus "backed" by 0.001 SOIL.* The token address is:0xc9173b14c234d27cfEac02A4d66383560B7d1Ba0 The JSON interface you can copy/paste in the appropriate pane under the WATCH CONTRACT menu is: [ { "constant": true, "inputs": [], "name": "name", "outputs": [ { "name": "", "type": "string", "value": "STAR", "displayName": "" } ], "type": "function", "displayName": "name" }, { "constant": false, "inputs": [ { "name": "_from", "type": "address", "typeShort": "address", "bits": "", "displayName": " <span class=\"punctuation\">_</span> from", "template": "elements_input_address" }, { "name": "_to", "type": "address", "typeShort": "address", "bits": "", "displayName": " <span class=\"punctuation\">_</span> to", "template": "elements_input_address" }, { "name": "_value", "type": "uint256", "typeShort": "uint", "bits": "256", "displayName": " <span class=\"punctuation\">_</span> value", "template": "elements_input_uint" } ], "name": "transferFrom", "outputs": [ { "name": "success", "type": "bool" } ], "type": "function", "displayName": "transfer From" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [ { "name": "", "type": "uint8", "value": "2", "displayName": "" } ], "type": "function", "displayName": "decimals" }, { "constant": true, "inputs": [ { "name": "", "type": "address", "typeShort": "address", "bits": "", "displayName": "", "template": "elements_input_address" } ], "name": "balanceOf", "outputs": [ { "name": "", "type": "uint256", "value": "0", "displayName": "" } ], "type": "function", "displayName": "balance Of" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [ { "name": "", "type": "string", "value": "★", "displayName": "" } ], "type": "function", "displayName": "symbol" }, { "constant": false, "inputs": [ { "name": "_to", "type": "address", "typeShort": "address", "bits": "", "displayName": " <span class=\"punctuation\">_</span> to", "template": "elements_input_address" }, { "name": "_value", "type": "uint256", "typeShort": "uint", "bits": "256", "displayName": " <span class=\"punctuation\">_</span> value", "template": "elements_input_uint" } ], "name": "transfer", "outputs": [], "type": "function", "displayName": "transfer" }, { "constant": false, "inputs": [ { "name": "_spender", "type": "address", "typeShort": "address", "bits": "", "displayName": " <span class=\"punctuation\">_</span> spender", "template": "elements_input_address" }, { "name": "_value", "type": "uint256", "typeShort": "uint", "bits": "256", "displayName": " <span class=\"punctuation\">_</span> value", "template": "elements_input_uint" }, { "name": "_extraData", "type": "bytes", "typeShort": "bytes", "bits": "", "displayName": " <span class=\"punctuation\">_</span> extra Data", "template": "elements_input_bytes" } ], "name": "approveAndCall", "outputs": [ { "name": "success", "type": "bool" } ], "type": "function", "displayName": "approve And Call" }, { "constant": true, "inputs": [ { "name": "", "type": "address", "typeShort": "address", "bits": "", "displayName": "", "template": "elements_input_address" }, { "name": "", "type": "address", "typeShort": "address", "bits": "", "displayName": "", "template": "elements_input_address" } ], "name": "spentAllowance", "outputs": [ { "name": "", "type": "uint256", "value": "0", "displayName": "" } ], "type": "function", "displayName": "spent Allowance" }, { "constant": true, "inputs": [ { "name": "", "type": "address", "typeShort": "address", "bits": "", "displayName": "", "template": "elements_input_address" }, { "name": "", "type": "address", "typeShort": "address", "bits": "", "displayName": "", "template": "elements_input_address" } ], "name": "allowance", "outputs": [ { "name": "", "type": "uint256", "value": "0", "displayName": "" } ], "type": "function", "displayName": "allowance" }, { "inputs": [ { "name": "initialSupply", "type": "uint256", "typeShort": "uint", "bits": "256", "displayName": "initial Supply", "template": "elements_input_uint", "value": "1000000" }, { "name": "tokenName", "type": "string", "typeShort": "string", "bits": "", "displayName": "token Name", "template": "elements_input_string", "value": "STAR" }, { "name": "decimalUnits", "type": "uint8", "typeShort": "uint", "bits": "8", "displayName": "decimal Units", "template": "elements_input_uint", "value": "2" }, { "name": "tokenSymbol", "type": "string", "typeShort": "string", "bits": "", "displayName": "token Symbol", "template": "elements_input_string", "value": "★" } ], "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" } ]
If anyone wants some FREE ★, send me a private message with your SOILcoin wallet address on bitcointalk, I'll transfer you some. ( https://bitcointalk.org/index.php?action=pm;sa=send;u=541917) ~abvhiael (developer's reserve wallet: 0xe46731382FbC47621A6C480d4b6118026bBBCb3A) *** Great help on using Mist, and hence... DUST.. not covered in this overview can be found in the wonderful guide written by "KLmoney" at: https://klmoney.wordpress.com/New developments and troubleshooting the Mist plaform dApp/wallet can be found on the Ethereum forum. ( https://forum.ethereum.org/categories/mist) Further information on tokens (somewhat dated compared to the present token interactions in Beta9) can be found at: ( https://www.ethereum.org/token)
|
|
|
|
abvhiael
|
|
March 21, 2016, 10:16:39 PM |
|
i think its time to build a wiki for SOILcoin... (off to the books i go)
|
|
|
|
m4nki
|
|
March 21, 2016, 10:45:56 PM |
|
SOILcoin dApp HackathonThe SOILcoin development team is pleased to announce a SOIL dApp Hackathon, in which developers can submit innovative application prototypes on the SOIL Crytographic Ledger Platform. This hackathon begins today, March 21 2016, the Spring Equinox. The SOILcoin development team is donating a substantial disbursement award earmarked from the community fund which we set up upon our genesis block, but if the community wishes to donate to the overall award reserve we welcome that as well, as a bigger fund will lead to much higher quality submissions. Total Contest Fund: 100,000 SOIL (at current 7 day average valuation ~ USD $2040 or 4.9875BTC) DetailsThe Hackathon will run over the course of 12 weeks, closing June 21 2016, the Summer Solstice. We invite both individuals and teams to participate. Full scaled dApps and single functional contracts are acceptable as submissions. When the SOILcoin dApp Contest ends, we will present our community 2 weeks to vote for their favorite dApps through an open stakeholder vote. You, the community, will be the judges. The SOILteam will announce the winners on July 8, 2016. The funds are held at the following SOIL address: 0x2321e69e5038d925ac2CB4894ed735aA3879280DThis is a 2-of-2 multi-sig contract wallet, requiring, by implementation of a smart contract, that both members of the SOILcoin core development team to sign out-migrating transactions. Any community members who wish to, are encouraged to donate, and more importantly PARTICIPATE!. Rules- The dApp must be available on a GitHub repository, with an open source code, by the conclusion of the Contest Period. GitHub will be used as the Hackathon Software Repository. Every project will check in their source, design documents, and other digital resources, and provide the link with their submission.
- The dApp must be originally written and owned by the project developer themselves, we are seeking innovatinve contributions, not simple ports of existing projects onto the SOILnet.
- The dApp function must reconcile the spirit of the SOILcoin ecosphere. That is, it should relate, in theory and implementation, the core service paradigms embraced by the SOILcoin project.
- *RENEWABLE ENERGY * ENVIRONMENTAL TECHNOLOGY * PRECISION AGRICULTURE * COMPUTATIONAL SCIENTIFIC APPLICATIONS *
- The dApp submission must include its contract wallet address and JSON interface as part of its documentation.
- The SOILcoin development team is not eligible to win the listed awards, although, community members are more than welcome to personally donate towards any SOILcoin Hackathon registered projects they deem useful and innovative, as well as the overall award fund if they wish.
Reward- First Prize: 50% of Hackathon fund
- Second Prize: 35% of Hackathon fund
- Third Prize: 15% of Hackathon fund
The percentages shown, represent the proportion of the final collected prize fund the individual winner can expect to receive. It is therefore, only possible to collect one prize per submission. In the situation where one developer submits two unique dApps, and they both win in ballotting independently, then that developer will be eligible to receive both prizes. At the current default Fund balance (100,000 SOIL), and based against the 7 day average valuation for SOILcoin, as listed at Bittrex, 1st prize would be valued at ~ USD$1020, 2nd prize would be valued at ~ USD$714 and 3rd prize would be valued at ~ USD$306. Dapp ResourcesOur DUST dApp/wallet release features compiling, deployment and interaction tools, especially for Solidity programming based smart contracts. The official link for downloading this package is available on our Bitcoitalk.com forum page's Original Post. [ https://bitcointalk.org/index.php?topic=1176709.0] An article by abvhiael introducing some of the compilers available on line as secondary choices for contract work is available at [ https://bitcointalk.org/index.php?topic=1176709.msg14017721#msg14017721] Several wonderful tutorials regarding programming in Solidity can be found online, based on the Ethereum protocol, which SOILcoin neatly parallels. The following links to tutorials will get you started: http://ethereum.github.io/solidity/https://docs.erisindustries.com/tutorials/solidity/solidity-1/https://solidity.readthedocs.org/en/latest/If you have questions, or need ideas, the ethereumforum page dedicated to Solidity projects is a great place to start: https://forum.ethereum.org/categories/solidity Really cool - this is exactly what a project like Soil needs! Hackathons 4tw.
|
|
|
|
alexcfr
|
|
March 22, 2016, 09:44:12 AM |
|
|
|
|
|
soil (OP)
Full Member
Offline
Activity: 130
Merit: 100
SOILteam
|
|
March 23, 2016, 12:09:48 AM Last edit: March 23, 2016, 09:50:42 PM by soil |
|
SOILcoin dApp HackathonThe SOILcoin development team is pleased to announce a SOIL dApp Hackathon, in which developers can submit innovative application prototypes on the SOIL Crytographic Ledger Platform. This hackathon begins, March 21 2016, the Spring Equinox. The SOILcoin development team is donating a substantial disbursement award earmarked from the community fund which we set up upon our genesis block, but if the community wishes to donate to the overall award reserve we welcome that as well, as a bigger fund will lead to much higher quality submissions. Total Contest Fund: 100,000 SOIL (at current 7 day average valuation ~ USD $2040 or 4.9875BTC) DetailsThe Hackathon will run over the course of 12 weeks, closing June 21 2016, the Summer Solstice. We invite both individuals and teams to participate. Full scaled dApps and single functional contracts are acceptable as submissions. When the SOILcoin dApp Contest ends, we will present our community 2 weeks to vote for their favorite dApps through an open stakeholder vote. You, the community, will be the judges. The SOILteam will announce the winners on July 8, 2016. The funds are held at the following SOIL address: 0x2321e69e5038d925ac2CB4894ed735aA3879280DThis is a 2-of-2 multi-sig contract wallet, requiring, by implementation of a smart contract, that both members of the SOILcoin core development team to sign out-migrating transactions. Any community members who wish to, are encouraged to donate, and more importantly PARTICIPATE!. Rules- The dApp must be available on a GitHub repository, with an open source code, by the conclusion of the Contest Period. GitHub will be used as the Hackathon Software Repository. Every project will check in their source, design documents, and other digital resources, and provide the link with their submission.
- The dApp must be originally written and owned by the project developer themselves, we are seeking innovatinve contributions, not simple ports of existing projects onto the SOILnet.
- The dApp function must reconcile the spirit of the SOILcoin ecosphere. That is, it should relate, in theory and implementation, the core service paradigms embraced by the SOILcoin project.
- *RENEWABLE ENERGY * ENVIRONMENTAL TECHNOLOGY * PRECISION AGRICULTURE * COMPUTATIONAL SCIENTIFIC APPLICATIONS *
- The dApp submission must include its contract wallet address and JSON interface as part of its documentation.
- The SOILcoin development team is not eligible to win the listed awards, although, community members are more than welcome to personally donate towards any SOILcoin Hackathon registered projects they deem useful and innovative, as well as the overall award fund if they wish.
Reward- First Prize: 50% of Hackathon fund
- Second Prize: 35% of Hackathon fund
- Third Prize: 15% of Hackathon fund
The percentages shown, represent the proportion of the final collected prize fund the individual winner can expect to receive. It is therefore, only possible to collect one prize per submission. In the situation where one developer submits two unique dApps, and they both win in ballotting independently, then that developer will be eligible to receive both prizes. At the current default Fund balance (100,000 SOIL), and based against the 7 day average valuation for SOILcoin, as listed at Bittrex, 1st prize would be valued at ~ USD$1020, 2nd prize would be valued at ~ USD$714 and 3rd prize would be valued at ~ USD$306. Dapp ResourcesOur DUST dApp/wallet release features compiling, deployment and interaction tools, especially for Solidity programming based smart contracts. The official link for downloading this package is available on our Bitcoitalk.com forum page's Original Post. [ https://bitcointalk.org/index.php?topic=1176709.0] An article by abvhiael introducing some of the compilers available on line as secondary choices for contract work is available at [ https://bitcointalk.org/index.php?topic=1176709.msg14017721#msg14017721] Several wonderful tutorials regarding programming in Solidity can be found online, based on the Ethereum protocol, which SOILcoin neatly parallels. The following links to tutorials will get you started: http://ethereum.github.io/solidity/https://docs.erisindustries.com/tutorials/solidity/solidity-1/https://solidity.readthedocs.org/en/latest/If you have questions, or need ideas, the ethereumforum page dedicated to Solidity projects is a great place to start: https://forum.ethereum.org/categories/solidity
|
|
|
|
dansus021
Copper Member
Legendary
Offline
Activity: 2184
Merit: 1006
Part of AOBT - English Translator to Indonesia
|
|
March 23, 2016, 12:49:03 PM |
|
Here Indonesia ANN -Bitcointalk https://bitcointalk.org/index.php?topic=1409376-Bitcoingarden http://bitcoingarden.tk/forum/index.php?topic=7017Here My Soil Address 0xb61026b6c69dd23d4f6d9b9afd44995036118b1b
|
| | . .Duelbits. | │ | ..........UNLEASH.......... THE ULTIMATE GAMING EXPERIENCE | │ | DUELBITS FANTASY SPORTS | ████▄▄▄█████▄▄▄ ░▄████████████████▄ ▐██████████████████▄ ████████████████████ ████████████████████▌ █████████████████████ ████████████████▀▀▀ ███████████████▌ ███████████████▌ ████████████████ ████████████████ ████████████████ ████▀▀███████▀▀ | . ▬▬ VS ▬▬ | ████▄▄▄█████▄▄▄ ░▄████████████████▄ ▐██████████████████▄ ████████████████████ ████████████████████▌ █████████████████████ ███████████████████ ███████████████▌ ███████████████▌ ████████████████ ████████████████ ████████████████ ████▀▀███████▀▀ | /// PLAY FOR FREE /// WIN FOR REAL | │ | ..PLAY NOW.. | |
|
|
|
soil (OP)
Full Member
Offline
Activity: 130
Merit: 100
SOILteam
|
|
March 23, 2016, 11:08:48 PM |
|
|
|
|
|
GoldenEye
|
|
March 23, 2016, 11:28:24 PM |
|
Ho I can start SOILsafe-NG on Linux? I found git@github.com:soilcurrency/SOILsafe-NG.git
Are there any usage instructions?
|
|
|
|
soil (OP)
Full Member
Offline
Activity: 130
Merit: 100
SOILteam
|
|
March 24, 2016, 12:27:06 AM |
|
Ho I can start SOILsafe-NG on Linux? I found git@github.com:soilcurrency/SOILsafe-NG.git
Are there any usage instructions?
For now try this please: SOILsafe-linux64-0-5-2.tar.gz
|
|
|
|
GoldenEye
|
|
March 24, 2016, 05:45:56 AM |
|
Ho I can start SOILsafe-NG on Linux? I found git@github.com:soilcurrency/SOILsafe-NG.git
Are there any usage instructions?
For now try this please: SOILsafe-linux64-0-5-2.tar.gzThanks, I will try it.
|
|
|
|
Nxtblg
Legendary
Offline
Activity: 924
Merit: 1000
|
|
March 24, 2016, 11:36:38 PM |
|
Hi, everyone, I tried putting this simple smart contract on the SOIL blockchain: contract reminder { /* define variable reminder of the type string */ string remindernote; address owner; string unauthorized = "No message for you, sorry." ;
/* this runs when the contract is executed */ function reminder(string _remindernote) public { remindernote = _remindernote; owner = msg.sender; }
/* main function */ function remindme() constant returns (string) { if(msg.sender == owner) { return remindernote; } else { return unauthorized; } } }
through using Solidity's realtime compiler to compile it to: var _remindernote = "Hello!"; var reminderContract = web3.eth.contract([{"constant":true,"inputs":[],"name":"remindme","outputs":[{"name":"","type":"string"}],"type":"function"},{"inputs":[{"name":"_remindernote","type":"string"}],"type":"constructor"}]); var reminder = reminderContract.new( _remindernote, { from: web3.eth.accounts[0], data: '6060604052604060405190810160405280601a81526020017f4e6f206d65737361676520666f7220796f752c20736f7272792e00000000000081526020015060026000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061008c57805160ff19168380011785556100bd565b828001600101855582156100bd579182015b828111156100bc57825182600050559160200191906001019061009e565b5b5090506100e891906100ca565b808211156100e457600081815060009055506001016100ca565b5090565b5050604051610462380380610462833981016040528080518201919060200150505b8060006000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061015957805160ff191683800117855561018a565b8280016001018555821561018a579182015b8281111561018957825182600050559160200191906001019061016b565b5b5090506101b59190610197565b808211156101b15760008181506000905550600101610197565b5090565b505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b50610270806101f26000396000f360606040526000357c01000000000000000000000000000000000000000000000000000000009004806359bd75181461003957610037565b005b61004660048050506100b4565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156100a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6020604051908101604052806000815260200150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101c75760006000508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156101b75780601f1061018c576101008083540402835291602001916101b7565b820191906000526020600020905b81548152906001019060200180831161019a57829003601f168201915b5050505050905061026d5661026c565b60026000508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102605780601f1061023557610100808354040283529160200191610260565b820191906000526020600020905b81548152906001019060200180831161024357829003601f168201915b5050505050905061026d565b5b9056', gas: 3000000 }, function(e, contract){ console.log(e, contract); if (typeof contract.address != 'undefined') { console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash); } })
The latter, the compiled web3 deploy version, I clipboarded into a 2.0-gig VPS running SOIL. At the time I entered it, my VPS had synched up. Once I entered it, I got a tx id. But, I never got the message "Contract mined!" Instead, fifty blocks after I got the tx id - some of these blocks had transactions in them - I got a warning about it not being mined. So...what went wrong? As far as I can tell, it's a valid contract that's correctly compiled. Why didn't it get mined? Do I need to add more gas, or was it something else that resulted in the miners not adding it to the blockchain? Thanks.
|
|
|
|
jelin1984
Legendary
Offline
Activity: 2408
Merit: 1004
|
|
March 25, 2016, 12:18:43 PM |
|
Go go go
|
|
|
|
|