ethereum / wiki Goto Github PK
View Code? Open in Web Editor NEWThe Ethereum Wiki
Home Page: https://www.ethereum.org
The Ethereum Wiki
Home Page: https://www.ethereum.org
In February I am getting married, so naturally I am wondering whether Etherium/Mist will ever be the kind of platform that will support marriage contracts?
If so, what would would that look like?
If not, why not?
95000000000000000000 wei is pretty ugly. So is .00000000004 ether. It would be nice to get a utility function to automatically give the right string for a certain number of significant digits.
per https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition
in the keystore json it should be crypto
instead of Crypto
. (pyethereum has implemented crypto
)
Was trying to figure out what indexed
meant, but Solidity Tutorial does not explain what a "log topic" is.
https://github.com/ethereum/wiki/wiki/Subtleties
It says:
If a transaction triggers an exception, then:
The value transfer from sender to recipient still takes place
and
If a CALL operation's sub-execution triggers an exception, then:
Ether value is still sent
According to @chriseth this has not been correct since before frontier.
Noticed that example for 'eth_syncing' in RPC_JSON.md uses method 'eth_isSyncing'. Which I think is incorrect?
I've read it several times now, and I still have no idea how to use an event filter (Events are explained in another page entirely, linked elsewhere.) or the difference between it and a log filter or which account address
under options is supposed to refer to (The contract? The account that sent the transaction to start it?) The lower example is unclear. I've only understood it after several readings. Actually, filterString's documentation is incomplete anyway, because it doesn't say what comes out of the callback.
Hey,
It took me a while to understand the table describing the currency allocation. I propose two changes for clarity:
"Reserve spent pre-sale" could be renamed to "Early contributors compensation and pre-sale expenses" (if the currency has not been launched there can be no reserve in such currency).
"Reserve used post-sale" could be renamed to "Reserve" as by definition a reserve is not used ("Reserve to be used post-sale" is a viable but verbose alternative).
Also mixing currency units and percentages without a clear separation is a little bit unclear.
Keep the good work!
Hi,
when I am deploying my contracts, in the deployment.js, there are many line breaks missing.
it would definitively help, if we could get a line break between these pieces:
ctrAddresses["Contract1"].push("0x816328ca6d022cc526ca815e51247715c2fa333b") contracts["Contract2"] = {....
The link to "intrinsic value" in the opening para of the whitepaper is broken. This article does present a useful view on the subject.
web3.isConnected() has issues. When connecting to an IPC node, it'll always return true, even if that node's IPC server isn't up and running. That causes issues with further calls failing with no easy way to check for a connection.
Steps to reproduce
web3.setProvider(new web3.providers.IpcProvider('\\\\.\\pipe\\geth.ipc', require('net')));
if (true === web3.isConnected()) {
alert('It returned true.');
}
For example, I was expecting the following command eth.mining = true
to start mining.
It looks like the Ethash DAG wiki entry has been defaced.
Hi
can't join/find a channel of skype? where's WS_Secret?
https://github.com/ethereum/wiki/wiki/Solidity-standard-library
owned
and mortal
is still the only things under contracts, and mortal
(which extends owned
) does not use the modifier that owned
provides.
Under PoC there are loads of interface contracts which does not use ;
but empty bodies, so guessing they haven't been updated since that was enabled.
Leading characters in contract names are sometimes upper-case, sometimes lower-case. No convention.
Also some of it doesn't compile since it uses old types like string3
.
Hi,
I'm trying to step through the tutorial at https://github.com/ethereum/wiki/wiki/Serpent and there are errors when running the following line:
s.send(t.k0, c, 0, funid=0, abi=[42])
TypeError: send() got an unexpected keyword argument 'funid'
Setup is as follows:
Name: ethereum-serpent
Version: 1.7.7
Location: /usr/local/lib/python2.7/dist-packages
Name: pyethereum
Version: 0.6.42
Location: /usr/local/lib/python2.7/dist-packages
Please let me know if there is a solution or if you need any more info.
I heard it through the grapevine this exists. Not sure if what I heard was wrong, or simply undocumented.
The information in the wiki can be of different timeliness. Pages my describe the current protocol, ideas, former protocols, etc.
It would be good to have a banner on top of every page describing the relevancy (protocol / work in progress / idea) and up-to-dateness.
Hi, I am reading the White Paper and under section "Bitcoin As A State Transition System"
In sentence "Return S with all input UTXO removed and all output UTXO added." , would it be S' (S prime) instead of S?
https://github.com/ethereum/wiki/wiki/Mix:-The-DApp-IDE
when I create the Rating and setRating transactions and hit rebuild, it throws "block gas limit reached" without offering any helpful details.
typing 'titanic' which setRating transaction has set to 3 doesn't appear when typing in the text field. It returns 0 regardless.
I'm confused by the transaction cost as it is set to Auto after you click create new transaction. I've set it to 1 thinking that this was what it was complaining about but to no avail.
Unable to continue with the rest of the tutorial until I figure out why this is happening.
States that current target of two to the power of 64 is average given two to the power of 192.
Average of two to the power of 192, however, is two to the power of 191.
Apologies for lack of superscript - on tablet.
Under elementary types, there's a paragraph...
"int• / uint•: Signed and unsigned integers of various sizes. Keywords uint8 to uint256 in steps of 8 (unsigned of 8 up to 256 bits) and int8 to int256. uint and int are aliases for uint256 and int256, respectively."
... which is very clear. A little lower, there's another...
"byte, bytes1, ..., bytes32: Fixed-size byte arrays, byte is an alias for bytes1."
... which is not as clear. At first and until I actually tested it, I assumed it would go "byte/byte1, byte8, byte16..." but that's not the case. Should this be changed to:
"byte, bytes1, bytes2, bytes3, ..., bytes32: Fixed-size byte arrays, byte is an alias for bytes1."
Foundation leadership shutdown server where the Ready2Use Image for the RPi2 is hosted. Mailed @gavofyork and @CJentzsch about this issue.
Any way to get the Image for the Raspberry?
Image is linked on this wiki page: https://github.com/ethereum/wiki/wiki/Raspberry-Pi-instructions
Hi folks,
I would like to display my own crypto currency with this app. I created the currency contract with the desktop ethereum app and transferred this to my other accounts. In the webapp, I can however NOT see the currency on the accounts, even though I am specifically watching this coin.
Strangely enough, I do see the transactions in bottom, but not the balance...
How is this possible?
Does someone know what's going on?
kind regards
I've been trying to download from http://gav.ethdev.com/ArchLinuxEthereum12082015.img.zip since Friday with no luck. Is there a new location to get the image? Thanks!
The github wiki can actually serve as a decent wiki if we improve it a bit for better accessibility.
WARNING: This project is using the experimental QML API extensions for QtWebEngi
ne and is therefore tied to a specific QtWebEngine release.
WARNING: The experimental API will change from version to version, or even be re
moved. You have been warned!
QtWebEngineProcess not found at location C:/Program Files/Ethereum/bin\QtWebEngi
neProcess.exe. Trying fallback path...
Layout must be attached to Item elements
Layout must be attached to Item elements
qml: [{"id":0,"jsonrpc":"2.0","method":"eth_accounts","params":[]}]
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_server_method
qt.network.ssl: QSslSocket: cannot resolve SSL_select_next_proto
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
qt.network.ssl: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
qml: [{"id":1,"jsonrpc":"2.0","method":"eth_gasPrice","params":[]}]
: QML QQuickLayoutAttached: Binding loop detected for property "pr
eferredWidth"
: QML QQuickLayoutAttached: Binding loop detected for property "pr
eferredWidth"
: QML QQuickLayoutAttached: Binding loop detected for property "pr
eferredWidth"
: QML QQuickLayoutAttached: Binding loop detected for property "pr
eferredWidth"
: QML QQuickLayoutAttached: Binding loop detected for property "pr
eferredWidth"
: QML QQuickLayoutAttached: Binding loop detected for property "pr
eferredWidth"
: QML QQuickLayoutAttached: Binding loop detected for property "pr
eferredWidth"
qrc:/QtQuick/Controls/ScrollView.qml:232:9: QML Binding: Binding loop detected f
or property "value"
qrc:/QtQuick/Controls/ScrollView.qml:225:9: QML Binding: Binding loop detected f
or property "value"
: QML QQuickLayoutAttached: Binding loop detected for property "pr
eferredWidth"
: QML QQuickLayoutAttached: Binding loop detected for property "pr
eferredWidth"
: QML QQuickLayoutAttached: Binding loop detected for property "pr
eferredWidth"
i 00:16:19.705|main Killing blockchain & extras database (WithExisting::Kill
).
i 00:16:19.705|main Killing state database (WithExisting::Kill).
qml: [{"id":1,"jsonrpc":"2.0","method":"eth_gasPrice","params":[]}]
qml: [{"id":0,"jsonrpc":"2.0","method":"eth_accounts","params":[]}]
qml: [{"id":1,"jsonrpc":"2.0","method":"eth_gasPrice","params":[]}]
i 00:16:19.751|main Killing blockchain & extras database (WithExisting::Kill
).
i 00:16:19.751|main Killing state database (WithExisting::Kill).
i 00:16:19.783|main Killing blockchain & extras database (WithExisting::Kill
).
i 00:16:19.798|main Killing state database (WithExisting::Kill).
qrc:///QtQuick/Controls/Private/ScrollBar.qml:98:46: Unable to assign [undefined
] to bool
qrc:///QtQuick/Controls/Private/ScrollBar.qml:98:46: Unable to assign [undefined
] to bool
qrc:/QtQuick/Controls/TextArea.qml:728:24: Unable to assign [undefined] to QColo
r
qrc:///QtQuick/Controls/Styles/Base/TextFieldStyle.qml:75: TypeError: Cannot rea
d property '__contentHeight' of null
qrc:///QtQuick/Controls/Styles/Base/TextFieldStyle.qml:75: TypeError: Cannot rea
d property '__contentHeight' of null
qrc:///QtQuick/Controls/Styles/Base/TextFieldStyle.qml:72:42: Unable to assign T
extArea_QMLTYPE_172 to TextField_QMLTYPE_97
qrc:///QtQuick/Controls/Private/ScrollBar.qml:95: TypeError: Cannot read propert
y of null
qrc:///QtQuick/Controls/Private/ScrollBar.qml:95: TypeError: Cannot read propert
y of null
qml: Unable to initiate request to the live network. Please verify your ethereum
node is up. Error status: 0
qml:
qml: Unable to initiate request to the live network. Please verify your ethereum
node is up. Error status: 0
qml:
qml: Unable to initiate request to the live network. Please verify your ethereum
node is up. Error status: 0
qml:
qml: Unable to initiate request to the live network. Please verify your ethereum
node is up. Error status: 0
qml:
qml: Unable to initiate request to the live network. Please verify your ethereum
node is up. Error status: 0
qml:
qml: Closing project
qml: Creating project dfg at file://C:/Users/admin/Desktop
qml: Closing project
qml: Loading project at file://C:/Users/admin/Desktop/dfg
i 00:16:44.007|main Killing blockchain & extras database (WithExisting::Kill
).
i 00:16:44.016|main Killing state database (WithExisting::Kill).
Waiting for current execution to complete
i 00:16:45.088| Decreasing DB node ref count below zero with no DB
node. Probably have a corrupt Trie. #84acdce9
i 00:16:45.104| Decreasing DB node ref count below zero with no DB
node. Probably have a corrupt Trie. #a71b164e
Where is the right place to discuss design for global namespaces and the like?
Looking at this documentation, there are probably some additional considerations/ideas that could be incorporated to make the naming system more robust.
Larger than 2**255
is taken to be negative? Non-inclusive 2**255
for pyethereum.
Hello, how i can run several clients (wallets) as daemon ?
I downloaded the pre built arm binary to run on Ubuntu Mate (Raspberry Pi 2). I ran chmod +x and then ./geth but get:
bash: ./geth: No such file or directory
What am I missing?
It appears that the name "Coin" is invalid for a new contract. So in the Subcurrency Example on the Wiki this should be changed to something else.
The browser Solidity compiler crashes when running on Chrome through two different computers. I'm on Windows 10 and my coworker is on Linux. The code in question is as follows.
contract c
{
function test() public returns(uint8)
{
uint8[] testing;
testing[testing.length++] = 1;
testing[testing.length++] = 2;
testing[testing.length++] = 3;
delete testing[1];
uint8[] testing1;
for (uint8 i = 0; i < testing.length; i++) {
if (0 != testing[i]) {
testing1[testing1.length++] = testing[i];
}
}
return testing1[0];
}
}
Steps to reproduce
I intend to help the eth dev team with developer outreach and the one source for clear understanding is very unclear with several contradicting statements for example, in the commented section of this code sample in the wiki
https://github.com/ethereum/wiki/wiki/Solidity-Tutorial#contract-inheritance
"// Use "is" to derive from another contract. Derived contracts can access all members
// including private functions and state variables"
Then a complete 180 on the specs
https://github.com/ethereum/wiki/wiki/Solidity-Tutorial#visibility-specifiers
"private: Private functions and state variables are only visible for the contract they are defined in and not in derived contracts."
Which one is it? Obviously its the latter, but can you understand how confusing it would be to new developers who aren't rabid fans like we are? That and so many other tutorials written in a language that is unnecessarily complex, if you really want easier adoption...
It will be good to invest in a good technical writer for clearer, more straight forward documentation to facilitate new developer adoption. I understand you guys maybe overworked though. Keep up the good work anyways! Great job so far! understateably the best devs in the world
I am always getting one of these 2 errors below no matter which RPC function i try.
What am i doing wrong?
root@58fe424912ee:/# geth --datadir /tmp/eth/42 --port 30303 --password <(echo -n notsosecret) --unlock 0 --rpcport 8545 &
[ec2-user@ip-172-31-38-111 download]$ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1}' http://127.0.0.1:8545
curl: (56) Recv failure: Connection reset by peer
[ec2-user@ip-172-31-38-111 bank.js]$ curl -X POST --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":1}' http://127.0.0.1:8545
curl: (52) Empty reply from server
Shouldn't the block, account, and tx JSON data all come through with the proper case and not just all be lowercase? This also reduces entropy which is bad.
The link at 21 - Peter Todd on Merkle sum trees - under Further Reading appears to be dead.
On the IBAN wiki page it mentions:
Account identifier, 30 characters alphanumeric (< 155-bit).
It may be some nuance in the encoding, but I think it should be "< 156-bit"?
> iban.fromAddress('0x07ffffffffffffffffffffffffffffffffffffff')._iban.length
34
I followed the instructions but when I run the javascript console on the Meteor site on localhost:3000, I got an error message below.
'“XMLHttpRequest cannot load http://localhost:8545/. Response to preflight request doesn't pass access >control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin >'http://localhost:3000' is therefore not allowed access.”'
I chanaged the command
$ geth --rpc --rpccorsdomain “http://localhost:3000
to
$ geth --rpc --rpcaddr="localhost" --rpcport="8545" --rpccorsdomain="http://localhost:3000"
and > web3.eth.accounts
shows the accounts in the network successfully.
Should we modify it, if this is replicable for others too?
In the applications section, "that all a currency" seems wrong.
Whatever this link it, it leads no where.
http://tinyurl.com/ofndjbo
Adding user accounts does not work properly. After saving and then returning "shuffles" the account information. Perhaps it is because I define/use the same account information inside the solidity contract?
The admin
API available in geth
is not documented.
I am getting the below error when trying to install the Mix IDE for Ethereum.
"No Such file or Directory". Appreciate your help in resolving the error.
When you exit this IRB session, execution will continue.
irb(/usr/local/Cellar/cpp-ethereum/1.2.3):001:0> exit
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:519:in `rename'
Errno::ENOENT: No such file or directory - (mix/Mix.app, /usr/local/Cellar/cpp-ethereum/1.2.3/Mix.app)
rename' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:519:in
block in mv'block in fu_each_src_dest' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:1574:in
fu_each_src_dest0'fu_each_src_dest' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:508:in
mv'install_p' /usr/local/Library/Homebrew/extend/pathname.rb:84:in
block in install'each' /usr/local/Library/Homebrew/extend/pathname.rb:65:in
install'install' /usr/local/Library/Homebrew/debrew.rb:22:in
block in install'debrew' /usr/local/Library/Homebrew/debrew.rb:22:in
install'block in install' /usr/local/Library/Homebrew/formula.rb:930:in
block in brew'block in stage' /usr/local/Library/Homebrew/resource.rb:92:in
block in unpack'mktemp' /usr/local/Library/Homebrew/resource.rb:88:in
unpack'stage' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/forwardable.rb:171:in
stage'stage' /usr/local/Library/Homebrew/formula.rb:926:in
brew'install' /usr/local/Library/Homebrew/build.rb:177:in
'I see strange behavior when I try to execute some test contracts. I have made 2 test contracts,
contract TestContract1 { uint public n; uint public testValue1; bytes6 public value; function TestContract1(bytes6 val, uint[] testArray) { n = testArray.length; testValue1 = testArray[0]; value = val; } }
and
contract TestContract4 { uint public n; uint public testValue1; uint public value; function TestContract4(uint val, uint[] testArray) { n = testArray.length; testValue1 = testArray[0]; value = val; } }
These contracts are identical, except for the val, parameter, which is a uint in TestContract4 and bytes6 in TestContract1.
I execute contract #4 by the following code from geth:
var testContract = web3.eth.contract(abiArray); var test = testContract.new( 0x313131314141, [123,456], { data:contractCode, from: eth.accounts[0], gas: 1000000 }, function(e, contract){ console.log(e, contract); if (typeof contract.address != 'undefined') { console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash); } });
and I look at the different variables stored in the contract, all values are correctly stored and retrieved (i.e. n = 2, testValue1 = 123, value = 54087348470081).
When I execute contract #1 with the same code from geth, I get a correct value = 0x313131314141, but n and testValue1 have strange values (n = 10696049115004928, testValue1 = 562949953421312).
Further tests show that when I change the bytes6
to bytes32
the contract works ok. Other lengths other than 32 seem to have the erroneous behavior.
It looks like a bug in Geth, since testing the contract in Solidity browser seems to work correctly.
https://github.com/ethereum/wiki/wiki/Ethereum-Natural-Specification-Format
Just a placeholder ticket.
Moved to ethereum/go-ethereum#2121
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["pending", true],"id":1}' http://127.0.0.1:8545
{"id":1,"jsonrpc":"2.0","result":{"number":"0x286fc","hash":"0x45a4f03599572f3cb461b069f00c0542c928990062781f8a6c2d78c033a5cb31","parentHash":"0x85b04af1a9662d68eacd41f6d47a236427eb4ada494aa984fa9a9f2fc382c27a"
In documentation you inform number is null .
The documentation is true ? And you can change return null in future ?
Or you are need update documentation ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.