Created
March 17, 2017 23:11
-
-
Save johnfkneafsey/fac697704f4633c1051631e735151b3a to your computer and use it in GitHub Desktop.
web3 Ethereum Capstone Notes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Account Management API Calls: | |
Login/Unlock Account | |
web3.personal.unlockAccount("yourAddress", "password") | |
Miscellaneous API Calls: | |
Send Ether | |
web3.eth.sendTransaction({from:"fromAddress", to:"toAddress", value: web3.toWei('integer', 'ether')}) | |
View Transaction | |
web3.eth.getTransaction("transactionHash") | |
Congress API Calls: | |
Get Ether Balance of Contract: | |
web3.eth.getBalance("address") | |
web3.eth.getBalance("0x6aC33c3D4073b39D2B57De2a4EF472371F7277AC") | |
Access the entire Congress Object: | |
var contractObject = web3.eth.contract(abiArray).at("address"); | |
var congressContract = web3.eth.contract([ { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "proposals", "outputs": [ { "name": "recipient", "type": "address", "value": "0xf6133e0611c27b99aba8bfa4e1f95b3e78dbb5e4" }, { "name": "amount", "type": "uint256", "value": "2" }, { "name": "description", "type": "string", "value": "Really dank dapp idea" }, { "name": "votingDeadline", "type": "uint256", "value": "1489685502" }, { "name": "executed", "type": "bool", "value": false }, { "name": "proposalPassed", "type": "bool", "value": false }, { "name": "numberOfVotes", "type": "uint256", "value": "2" }, { "name": "currentResult", "type": "int256", "value": "2" }, { "name": "proposalHash", "type": "bytes32", "value": "0xf404df0dcd21fbbfc5d06045bd3cdf2d6e444791a58ad8c97f994cb5f2b61279" } ], "payable": false, "type": "function" }, { "constant": false, "inputs": [ { "name": "targetMember", "type": "address" } ], "name": "removeMember", "outputs": [], "payable": false, "type": "function" }, { "constant": false, "inputs": [ { "name": "proposalNumber", "type": "uint256" }, { "name": "transactionBytecode", "type": "bytes" } ], "name": "executeProposal", "outputs": [], "payable": false, "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "memberId", "outputs": [ { "name": "", "type": "uint256", "value": "0" } ], "payable": false, "type": "function" }, { "constant": true, "inputs": [], "name": "numProposals", "outputs": [ { "name": "", "type": "uint256", "value": "3" } ], "payable": false, "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "members", "outputs": [ { "name": "member", "type": "address", "value": "0x0000000000000000000000000000000000000000" }, { "name": "name", "type": "string", "value": "" }, { "name": "memberSince", "type": "uint256", "value": "1489623844" } ], "payable": false, "type": "function" }, { "constant": true, "inputs": [], "name": "debatingPeriodInMinutes", "outputs": [ { "name": "", "type": "uint256", "value": "3" } ], "payable": false, "type": "function" }, { "constant": true, "inputs": [], "name": "minimumQuorum", "outputs": [ { "name": "", "type": "uint256", "value": "2" } ], "payable": false, "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address", "value": "0x9ae6c8795c4158c73d5b7303ae39ed0a248f86cb" } ], "payable": false, "type": "function" }, { "constant": false, "inputs": [ { "name": "_from", "type": "address" }, { "name": "_value", "type": "uint256" }, { "name": "_token", "type": "address" }, { "name": "_extraData", "type": "bytes" } ], "name": "receiveApproval", "outputs": [], "payable": false, "type": "function" }, { "constant": true, "inputs": [], "name": "majorityMargin", "outputs": [ { "name": "", "type": "int256", "value": "0" } ], "payable": false, "type": "function" }, { "constant": false, "inputs": [ { "name": "beneficiary", "type": "address" }, { "name": "etherAmount", "type": "uint256" }, { "name": "JobDescription", "type": "string" }, { "name": "transactionBytecode", "type": "bytes" } ], "name": "newProposal", "outputs": [ { "name": "proposalID", "type": "uint256" } ], "payable": false, "type": "function" }, { "constant": false, "inputs": [ { "name": "minimumQuorumForProposals", "type": "uint256" }, { "name": "minutesForDebate", "type": "uint256" }, { "name": "marginOfVotesForMajority", "type": "int256" } ], "name": "changeVotingRules", "outputs": [], "payable": false, "type": "function" }, { "constant": false, "inputs": [ { "name": "targetMember", "type": "address" }, { "name": "memberName", "type": "string" } ], "name": "addMember", "outputs": [], "payable": false, "type": "function" }, { "constant": false, "inputs": [ { "name": "proposalNumber", "type": "uint256" }, { "name": "supportsProposal", "type": "bool" }, { "name": "justificationText", "type": "string" } ], "name": "vote", "outputs": [ { "name": "voteID", "type": "uint256" } ], "payable": false, "type": "function" }, { "constant": true, "inputs": [ { "name": "proposalNumber", "type": "uint256" }, { "name": "beneficiary", "type": "address" }, { "name": "etherAmount", "type": "uint256" }, { "name": "transactionBytecode", "type": "bytes" } ], "name": "checkProposalCode", "outputs": [ { "name": "codeChecksOut", "type": "bool", "value": false } ], "payable": false, "type": "function" }, { "constant": false, "inputs": [ { "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "type": "function" }, { "inputs": [ { "name": "minimumQuorumForProposals", "type": "uint256", "index": 0, "typeShort": "uint", "bits": "256", "displayName": "minimum Quorum For Proposals", "template": "elements_input_uint", "value": "10" }, { "name": "minutesForDebate", "type": "uint256", "index": 1, "typeShort": "uint", "bits": "256", "displayName": "minutes For Debate", "template": "elements_input_uint", "value": "30" }, { "name": "marginOfVotesForMajority", "type": "int256", "index": 2, "typeShort": "int", "bits": "256", "displayName": "margin Of Votes For Majority", "template": "elements_input_int", "value": "0" }, { "name": "congressLeader", "type": "address", "index": 3, "typeShort": "address", "bits": "", "displayName": "congress Leader", "template": "elements_input_address", "value": "" } ], "payable": true, "type": "constructor" }, { "payable": true, "type": "fallback" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "proposalID", "type": "uint256" }, { "indexed": false, "name": "recipient", "type": "address" }, { "indexed": false, "name": "amount", "type": "uint256" }, { "indexed": false, "name": "description", "type": "string" } ], "name": "ProposalAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "proposalID", "type": "uint256" }, { "indexed": false, "name": "position", "type": "bool" }, { "indexed": false, "name": "voter", "type": "address" }, { "indexed": false, "name": "justification", "type": "string" } ], "name": "Voted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "proposalID", "type": "uint256" }, { "indexed": false, "name": "result", "type": "int256" }, { "indexed": false, "name": "quorum", "type": "uint256" }, { "indexed": false, "name": "active", "type": "bool" } ], "name": "ProposalTallied", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "member", "type": "address" }, { "indexed": false, "name": "isMember", "type": "bool" } ], "name": "MembershipChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "minimumQuorum", "type": "uint256" }, { "indexed": false, "name": "debatingPeriodInMinutes", "type": "uint256" }, { "indexed": false, "name": "majorityMargin", "type": "int256" } ], "name": "ChangeOfRules", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "sender", "type": "address" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "receivedEther", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "_from", "type": "address" }, { "indexed": false, "name": "_value", "type": "uint256" }, { "indexed": false, "name": "_token", "type": "address" }, { "indexed": false, "name": "_extraData", "type": "bytes" } ], "name": "receivedTokens", "type": "event" } ]).at("0x6aC33c3D4073b39D2B57De2a4EF472371F7277AC") | |
Using the Congress Object, you can call functions using the following syntax: congressContract.FUNCTION.call() | |
Complete List of Functions: | |
ChangeOfRules: function(), //Event Listener | |
MembershipChanged: function(), //Event Listener | |
ProposalAdded: function(), //Event Listener | |
ProposalTallied: function(), //Event Listener | |
Voted: function(), //Event Listener | |
addMember: function(), //OwnerOnly (can be done in wallet - will postpone for now) | |
allEvents: function(), //Provides a log of all Events (like an event aggregator) | |
changeVotingRules: function(), //OwnerOnly (can be done in wallet - will postpone for now) | |
checkProposalCode: function(), //Doesn't seem to be used anywhere | |
debatingPeriodInMinutes: function(), //self explanatory, returns single integer | |
executeProposal: function(), //self explanatory, takes (uint proposalNumber, bytes transactionBytecode) ******* | |
majorityMargin: function(), //self explanatory, returns single integer | |
memberId: function(), //revisit ******* | |
members: function(), //revisit ******* | |
minimumQuorum: function(), //self explanatory, returns single integer | |
newProposal: function(), //revisit ******* | |
numProposals: function(), //returns integer representing the # of proposals ever made | |
owner: function(), //returns the address of the contract owner | |
proposals: function(), //revisit ******* | |
receiveApproval: function(), //Doesn't seem to be used anywhere | |
receivedEther: function(), //Doesn't seem to be used anywhere | |
receivedTokens: function(), //Doesn't seem to be used anywhere | |
removeMember: function(), //OwnerOnly (can be done in wallet - will postpone for now) | |
transferOwnership: function(), //OwnerOnly (can be done in wallet - will postpone for now) | |
vote: function(), //revisit ******* | |
// RANDOM NOTES | |
This comes up when we call proposals | |
["0xf6133e0611c27b99aba8bfa4e1f95b3e78dbb5e4", 2, "Really dank dapp idea", 1489685502, false, false, 2, 2, "0xf404df0dcd21fbbfc5d06045bd3cdf2d6e444791a58ad8c97f994cb5f2b61279"] | |
var recipient = "0xF6133E0611C27b99aba8bFA4E1f95b3E78Dbb5E4" | |
var amount = web3.toWei(1, "ether"); | |
var shortNote = "Logo Design"; | |
address beneficiary, | |
uint etherAmount, | |
string JobDescription, | |
bytes transactionBytecode | |
congressContract.newProposal.sendTransaction("0xF6133E0611C27b99aba8bFA4E1f95b3E78Dbb5E4", 1, "really great dapp", "") | |
congressContract.newProposal.call("0xF6133E0611C27b99aba8bFA4E1f95b3E78Dbb5E4", web3.toWei(1, "ether") , "Logo Design") | |
function newProposal(address _recipient, uint _amount, bytes32 _data, string _description) returns (uint proposalID) | |
democracy.newProposal.sendTransaction( recipient, amount, '', shortNote, {from: eth.accounts[0], gas:1000000}) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment