ether-camp / ethereum-harmony Goto Github PK
View Code? Open in Web Editor NEWDEPRECATED! Ethereum Independent Peer
License: GNU General Public License v3.0
DEPRECATED! Ethereum Independent Peer
License: GNU General Public License v3.0
Mist allows to connect to 3rd party nodes via CLI.
https://ethereum.stackexchange.com/questions/2403/can-mist-be-attached-to-a-geth-node-on-a-different-computer-over-http-rpc/7062#7062
Need to ensure that Harmony works as smooth as other nodes.
To connect harmony on Mac:
/Applications/Mist.app/Contents/MacOS/Mist --rpc http://localhost:8080/rpc
I'm using Ubuntu 16.04.3 x64
Not sure if Harmony error or EthereumJ error?
sudo add-apt-repository ppa:webupd8team/java
sudo apt install oracle-java9-installer
sudo apt install oracle-java9-set-default
I've also set JAVA_HOME="/usr/lib/jvm/java-9-oracle"
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '9.0.4'.
more calls here:
https://github.com/ethereum/wiki/wiki/JSON-RPC
In the UI if you click the "Test Ports" button and your ports are not open to the internet you get a red x icon. This should instead be a green lock to indicate to the user that they are currently secure against the internet being able to access their node via RPC.
There may be value in having the same lock icon but a different color (e.g., red) for the ETH port (rather than the RPC port) since that one should be opened up to the internet. Perhaps red unlocked and green locked for RPC and green unlocked and red locked for ETH?
The goal here would be to let users know when they are in a healthy state (green) for each of the ports. At the moment, the red X is an indicator of a problem but you really shouldn't be opening your RPC port to the internet without thought.
gradlew runMain -Dserver.port=9000
Ethereum
node> miner_start 2
JsonRpcServerError: method parameters invalid
node> miner_start(2)
Command not found
could anybody give me some advice?
Caused by: java.lang.RuntimeException: Invalid Trie state, can't resolve hash 659a32f2610f4b8f76ed9f906d80b8a854573bd57a2dbe2b775ca4997257d7c3
at org.ethereum.trie.TrieImpl$Node.resolve(TrieImpl.java:111)
at org.ethereum.trie.TrieImpl$Node.parse(TrieImpl.java:204)
at org.ethereum.trie.TrieImpl$Node.getType(TrieImpl.java:340)
at org.ethereum.trie.TrieImpl.insert(TrieImpl.java:537)
at org.ethereum.trie.TrieImpl.put(TrieImpl.java:531)
at org.ethereum.trie.SecureTrie.put(SecureTrie.java:47)
at org.ethereum.trie.SecureTrie.put(SecureTrie.java:26)
at org.ethereum.datasource.SourceCodec.put(SourceCodec.java:48)
at org.ethereum.datasource.WriteCache.flush(WriteCache.java:241)
at org.ethereum.datasource.AbstractChainedSource.flush(AbstractChainedSource.java:66)
at org.ethereum.datasource.SourceChainBox.flushImpl(SourceChainBox.java:77)
at org.ethereum.datasource.AbstractChainedSource.flush(AbstractChainedSource.java:64)
at org.ethereum.db.RepositoryRoot.getRoot(RepositoryRoot.java:120)
at org.ethereum.core.BlockchainImpl.applyBlock(BlockchainImpl.java:912)
at org.ethereum.core.BlockchainImpl.createNewBlock(BlockchainImpl.java:505)
at org.ethereum.core.BlockchainImpl.createNewBlock(BlockchainImpl.java:471)
at org.ethereum.mine.BlockMiner.getNewBlockForMining(BlockMiner.java:249)
at org.ethereum.mine.BlockMiner.restartMining(BlockMiner.java:255)
at org.ethereum.mine.BlockMiner.startMining(BlockMiner.java:141)
at org.ethereum.mine.BlockMiner.(BlockMiner.java:116)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
... 67 common frames omitted
From logs:
Peer V63: [ cec7e2b1, IDLE, ping 52 ms, difficulty 49699752809, best block 50857 ]: Ethereum(J)/v1.5.0/Linux/Dev/Java/Dev Nodes/sec: NaN, miss: NaN Life: 778s, Idle: 778150ms
From GUI:
Type: Geth
OS: Linux
Version: go1.7.4
Country: N/A
Details: Geth/v1.5.5-stable-ff07d548/linux/go1.7.4
Supported protocols: Eth: 63, Eth: 62
Block number: #50,857
Currently it requests 5 random words from dictionary using backend controller. We should download full dictionary to frontend and choose 5 words on frontend (in client's browser). This approach is more secure, because it is not vulnerable to sniffing attack.
Also, check that user is able to remember the phrase at least just after creation.
I'm using the code from the latest pull from master (as of March 21, 2017).
The previous version I used (which was one prior to v2.1) did not suffer from this issue.
I'm running a private net, and have never specified any value for ${database.name} in either the runtime args or the private.conf file. It would seem to me that now, for whatever reason, there is no default value for this property.
I'm sure I could work around it by changing the property to be a hardcoded value, but I still feel this should be addressed.
I'm running via ./gradlew bootRun -Dethereumj.conf.file=/path/to/private.conf -DgenesisFile=/path/to/genesis-private.conf -Dserver.port=8081
They're the exact same conf files that I've previously used successfully, and I do see that ${database.name} is left in the current master for src/main/resources/private.conf.
I didn't see any additional instructions on the README.md that indicate I should change or update anything related to this. Still, I'm hoping I've just done something wrong.
Thanks in advance.
Stack trace is as follows:
12:16:56.886 ERROR [general] Can't read config.
com.typesafe.config.ConfigException$UnresolvedSubstitution: /Users/duncan/code/ethereum-harmony-seed/src/main/resources/private.conf: 38: Could not resolve substitution to a value: ${database.name}
at com.typesafe.config.impl.ConfigReference.resolveSubstitutions(ConfigReference.java:87)
at com.typesafe.config.impl.ResolveSource.resolveCheckingReplacement(ResolveSource.java:110)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:114)
at com.typesafe.config.impl.ConfigConcatenation.resolveSubstitutions(ConfigConcatenation.java:178)
at com.typesafe.config.impl.ResolveSource.resolveCheckingReplacement(ResolveSource.java:110)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:114)
at com.typesafe.config.impl.ConfigDelayedMerge.resolveSubstitutions(ConfigDelayedMerge.java:96)
at com.typesafe.config.impl.ConfigDelayedMerge.resolveSubstitutions(ConfigDelayedMerge.java:59)
at com.typesafe.config.impl.ResolveSource.resolveCheckingReplacement(ResolveSource.java:110)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:114)
at com.typesafe.config.impl.SimpleConfigObject$1.modifyChildMayThrow(SimpleConfigObject.java:341)
at com.typesafe.config.impl.SimpleConfigObject.modifyMayThrow(SimpleConfigObject.java:280)
at com.typesafe.config.impl.SimpleConfigObject.resolveSubstitutions(SimpleConfigObject.java:321)
at com.typesafe.config.impl.SimpleConfigObject.resolveSubstitutions(SimpleConfigObject.java:25)
at com.typesafe.config.impl.ResolveSource.resolveCheckingReplacement(ResolveSource.java:110)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:114)
at com.typesafe.config.impl.SimpleConfigObject$1.modifyChildMayThrow(SimpleConfigObject.java:341)
at com.typesafe.config.impl.SimpleConfigObject.modifyMayThrow(SimpleConfigObject.java:280)
at com.typesafe.config.impl.SimpleConfigObject.resolveSubstitutions(SimpleConfigObject.java:321)
at com.typesafe.config.impl.SimpleConfigObject.resolveSubstitutions(SimpleConfigObject.java:25)
at com.typesafe.config.impl.ResolveSource.resolveCheckingReplacement(ResolveSource.java:110)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:114)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:149)
at com.typesafe.config.impl.SimpleConfig.resolveWith(SimpleConfig.java:70)
at com.typesafe.config.impl.SimpleConfig.resolve(SimpleConfig.java:60)
at com.typesafe.config.impl.SimpleConfig.resolve(SimpleConfig.java:55)
at com.typesafe.config.impl.SimpleConfig.resolve(SimpleConfig.java:33)
at org.ethereum.config.SystemProperties.<init>(SystemProperties.java:187)
at org.ethereum.config.SystemProperties.<init>(SystemProperties.java:148)
at org.ethereum.config.SystemProperties.<init>(SystemProperties.java:136)
at org.ethereum.config.SystemProperties.getSpringDefault(SystemProperties.java:81)
at org.ethereum.config.SystemProperties.getDefault(SystemProperties.java:76)
at com.ethercamp.harmony.Application.main(Application.java:58)
Exception in thread "main" java.lang.RuntimeException: com.typesafe.config.ConfigException$UnresolvedSubstitution: /Users/duncan/code/ethereum-harmony-seed/src/main/resources/private.conf: 38: Could not resolve substitution to a value: ${database.name}
at org.ethereum.config.SystemProperties.<init>(SystemProperties.java:204)
at org.ethereum.config.SystemProperties.<init>(SystemProperties.java:148)
at org.ethereum.config.SystemProperties.<init>(SystemProperties.java:136)
at org.ethereum.config.SystemProperties.getSpringDefault(SystemProperties.java:81)
at org.ethereum.config.SystemProperties.getDefault(SystemProperties.java:76)
at com.ethercamp.harmony.Application.main(Application.java:58)
Caused by: com.typesafe.config.ConfigException$UnresolvedSubstitution: /Users/duncan/code/ethereum-harmony-seed/src/main/resources/private.conf: 38: Could not resolve substitution to a value: ${database.name}
at com.typesafe.config.impl.ConfigReference.resolveSubstitutions(ConfigReference.java:87)
at com.typesafe.config.impl.ResolveSource.resolveCheckingReplacement(ResolveSource.java:110)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:114)
at com.typesafe.config.impl.ConfigConcatenation.resolveSubstitutions(ConfigConcatenation.java:178)
at com.typesafe.config.impl.ResolveSource.resolveCheckingReplacement(ResolveSource.java:110)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:114)
at com.typesafe.config.impl.ConfigDelayedMerge.resolveSubstitutions(ConfigDelayedMerge.java:96)
at com.typesafe.config.impl.ConfigDelayedMerge.resolveSubstitutions(ConfigDelayedMerge.java:59)
at com.typesafe.config.impl.ResolveSource.resolveCheckingReplacement(ResolveSource.java:110)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:114)
at com.typesafe.config.impl.SimpleConfigObject$1.modifyChildMayThrow(SimpleConfigObject.java:341)
at com.typesafe.config.impl.SimpleConfigObject.modifyMayThrow(SimpleConfigObject.java:280)
at com.typesafe.config.impl.SimpleConfigObject.resolveSubstitutions(SimpleConfigObject.java:321)
at com.typesafe.config.impl.SimpleConfigObject.resolveSubstitutions(SimpleConfigObject.java:25)
at com.typesafe.config.impl.ResolveSource.resolveCheckingReplacement(ResolveSource.java:110)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:114)
at com.typesafe.config.impl.SimpleConfigObject$1.modifyChildMayThrow(SimpleConfigObject.java:341)
at com.typesafe.config.impl.SimpleConfigObject.modifyMayThrow(SimpleConfigObject.java:280)
at com.typesafe.config.impl.SimpleConfigObject.resolveSubstitutions(SimpleConfigObject.java:321)
at com.typesafe.config.impl.SimpleConfigObject.resolveSubstitutions(SimpleConfigObject.java:25)
at com.typesafe.config.impl.ResolveSource.resolveCheckingReplacement(ResolveSource.java:110)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:114)
at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:149)
at com.typesafe.config.impl.SimpleConfig.resolveWith(SimpleConfig.java:70)
at com.typesafe.config.impl.SimpleConfig.resolve(SimpleConfig.java:60)
at com.typesafe.config.impl.SimpleConfig.resolve(SimpleConfig.java:55)
at com.typesafe.config.impl.SimpleConfig.resolve(SimpleConfig.java:33)
at org.ethereum.config.SystemProperties.<init>(SystemProperties.java:187)
... 5 more
:bootRun FAILED
I have a contract
contract_bytecode.txt
and two independent ethereum clients for experiments. One of them is geth (deployed at 172.17.0.2 in the local net), second is harmony (deployed at 172.17.0.3).
Contract address is 0xfad862e3c688455f25446904d06cda82d4386d88
I'm trying to execute my test script:
#!/bin/bash
host=$1
if [ "$host" == "http://172.17.0.2:8080" ]
then
sb1=(-36)
sb2=34
else
sb1=(-6)
sb2=4
fi
transaction="$(curl -X POST --data '{"jsonrpc":"2.0", "method":"eth_sendTransaction", "params":[{"from":"0x2644116ef02ee27563a8478052f5ff00ad6d24ad","gas":"0xf4240","to":"0xfad862e3c688455f25446904d06cda82d4386d88","data":"0xa6bc6395b294b4d6570e720da205d9589cdebbd9d185dbeff8a96532df8dbbc96b4aa505000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe403020000000000000000000000000000000000000000000000000000000000000000"}],"id":1}' $host)"
echo "transaction answer is $transaction"
filter="$(curl -X POST --data "{\"jsonrpc\":\"2.0\", \"method\":\"eth_newFilter\", \"params\":[{\"topics\":[],\"address\":\"0xfad862e3c688455f25446904d06cda82d4386d88\"}],\"id\":2}" $host)"
echo "filter answer is $filter"
flogs="$(curl -X POST --data "{\"jsonrpc\":\"2.0\", \"method\":\"eth_getFilterLogs\", \"params\":[\"${filter:($sb1):$sb2}\"], \"id\":3}" $host)"
echo "flogs answer is $flogs"
again=0
while [ "$again" -lt "60" ]
do
fchanges="$(curl -X POST --data "{\"jsonrpc\":\"2.0\", \"method\":\"eth_getFilterChanges\", \"params\":[\"${filter:($sb1):$sb2}\"], \"id\":4}" $host)"
echo "fchanges answer is $fchanges"
again=${#fchanges}.
sleep 2s
done
So, if i run ./testJava.sh "http://172.17.0.2:8080", i getting the right result after some time of the loop execution:
fchanges answer is {"jsonrpc":"2.0","id":4,"result":[]}
...
fchanges answer is {"jsonrpc":"2.0","id":4,"result":[{"address":"0xfad862e3c688455f25446904d06cda82d4386d88","topics":["0x86d78d4604d1118b84159ec7d58eb191e7b46f989379253d3f3516022c0a93b6"],"data":"0x0000000000000000000000002644116ef02ee27563a8478052f5ff00ad6d24ad0000000000000000000000000000000000000000000000000000000000000001b294b4d6570e720da205d9589cdebbd9d185dbeff8a96532df8dbbc96b4aa505000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe403020000000000000000000000000000000000000000000000000000000000000000","blockNumber":"0xb2e5","transactionIndex":"0x0","transactionHash":"0x067566de3baf4f8e86c8da7fbc2b56b1c8e9dfb102350868d3d2f86b970d59f8","blockHash":"0xa6d3215abb9b6a50dab22647dce69ff45c670476aefc27bb2dfb5e39f6a05369","logIndex":"0x0","removed":false}]}
But when i run ./testJava.sh "http://172.17.0.3:8080/rpc", i always getting empty result
fchanges answer is {"jsonrpc":"2.0","id":4,"result":[]}
So, i can't catch contract events
Maybe i did something wrong?
It should be known from core config
Default contract deployed from Ethereum Studio may have error in constructor. It will not be created successfully.
We can let user know via few ways:
ethj_getTransactionReceipt
, which is also return more informative errors.@asinyagin Please put your input
With delays up to 10 minutes. This bug was likely fixed before, but looks that it's still here.
I get an OutOfMemory when I run ./gradlew runPrivate while generating the dag file
I've removed a JavaArgs "-Xmx1G" and I don't have the error anymore
My env is OSX and my JVM version is 1.8.0_111
I setup a VM for Harmony, it's bridged, and when I connect to the web interface it first showed the private IP of the node, it then switched to the public IP of my desktop (not the public IP of the VM, yes they're different).
Basically, my desktop has VPN connection so it has Public IP A. The VM running Harmony has a bridged connection, no VPN and it has Public IP B.
When I connect to the web interface of Harmony it returns Public IP A.
Harmony is intended to be a user friendly peer, so in my mind we need to allow user just download and run the Jar without building it from scratch (accounting the build is more complex than say EthJ core or Geth)
We have the feature to start miner manually and it's useful especially in private networks, but if the sync is on, miner starts and peer is not accepting txs because it's on long sync. So, manual miner start should trigger short sync.
Here's implementation, but it should probably moved to Harmony's actual branch
ethereum/ethereumj@6b0f381
using famous console with syntax highlight
http://terminal.jcubic.pl/examples.php
geth reference
https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console
128 ✗ user@ursae ~/.opt/ethereum-harmony $ gradle runMain --stacktrace
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'harmony.ether.camp'.
> Could not resolve all dependencies for configuration ':classpath'.
> Could not resolve com.github.jengelman.gradle.plugins:shadow:1.2.4.
Required by:
project :
> Could not resolve com.github.jengelman.gradle.plugins:shadow:1.2.4.
> Could not get resource 'https://plugins.gradle.org/m2/com/github/jengelman/gradle/plugins/shadow/1.2.4/shadow-1.2.4.pom'.
> Could not GET 'https://plugins.gradle.org/m2/com/github/jengelman/gradle/plugins/shadow/1.2.4/shadow-1.2.4.pom'.
> java.security.ProviderException: java.security.InvalidKeyException: EC parameters error
> Could not resolve co.riiid:gradle-github-plugin:0.4.2.
Required by:
project :
> Could not resolve co.riiid:gradle-github-plugin:0.4.2.
> Could not get resource 'https://plugins.gradle.org/m2/co/riiid/gradle-github-plugin/0.4.2/gradle-github-plugin-0.4.2.pom'.
> Could not GET 'https://plugins.gradle.org/m2/co/riiid/gradle-github-plugin/0.4.2/gradle-github-plugin-0.4.2.pom'.
> java.security.ProviderException: java.security.InvalidKeyException: EC parameters error
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'harmony.ether.camp'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:94)
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:72)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$000(LifecycleProjectEvaluator.java:33)
at org.gradle.configuration.project.LifecycleProjectEvaluator$1.execute(LifecycleProjectEvaluator.java:53)
at org.gradle.configuration.project.LifecycleProjectEvaluator$1.execute(LifecycleProjectEvaluator.java:50)
at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:61)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:50)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:599)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:125)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:60)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)
at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuildAction.execute(DefaultGradleLauncher.java:233)
at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuildAction.execute(DefaultGradleLauncher.java:230)
at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:160)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:119)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:102)
at org.gradle.launcher.exec.GradleBuildController.run(GradleBuildController.java:71)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:49)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:49)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:31)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:47)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:46)
Caused by: org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':classpath'.
at org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration.rethrowFailure(DefaultLenientConfiguration.java:178)
at org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$1.collectFiles(DefaultLenientConfiguration.java:127)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.doGetFiles(DefaultConfiguration.java:516)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getFiles(DefaultConfiguration.java:367)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getFiles(Unknown Source)
at org.gradle.api.internal.initialization.DefaultScriptHandler.getScriptClassPath(DefaultScriptHandler.java:69)
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.defineScriptHandlerClassScope(DefaultPluginRequestApplicator.java:193)
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins(DefaultPluginRequestApplicator.java:78)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:156)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:39)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:70)
... 55 more
Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.github.jengelman.gradle.plugins:shadow:1.2.4.
Required by:
project :
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule(RepositoryChainComponentMetaDataResolver.java:83)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolve(RepositoryChainComponentMetaDataResolver.java:59)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.ComponentResolversChain$ComponentMetaDataResolverChain.resolve(ComponentResolversChain.java:85)
at org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve(ClientModuleResolver.java:45)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$ModuleVersionResolveState.resolve(DependencyGraphBuilder.java:642)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$ModuleVersionResolveState.getMetaData(DependencyGraphBuilder.java:653)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$DependencyEdge.calculateTargetConfigurations(DependencyGraphBuilder.java:291)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$DependencyEdge.attachToTargetConfigurations(DependencyGraphBuilder.java:264)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.traverseGraph(DependencyGraphBuilder.java:161)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.resolve(DependencyGraphBuilder.java:98)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultArtifactDependencyResolver.resolve(DefaultArtifactDependencyResolver.java:88)
at org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver$1.run(CacheLockingArtifactDependencyResolver.java:43)
at org.gradle.internal.Factories$1.create(Factories.java:25)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:190)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:172)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:136)
at org.gradle.cache.internal.DefaultCacheFactory$ReferenceTrackingCache.useCache(DefaultCacheFactory.java:199)
at org.gradle.api.internal.artifacts.ivyservice.DefaultCacheLockingManager.useCache(DefaultCacheLockingManager.java:60)
at org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver.resolve(CacheLockingArtifactDependencyResolver.java:41)
at org.gradle.api.internal.artifacts.ivyservice.DefaultConfigurationResolver.resolveGraph(DefaultConfigurationResolver.java:123)
at org.gradle.api.internal.artifacts.ivyservice.ShortCircuitEmptyConfigurationResolver.resolveGraph(ShortCircuitEmptyConfigurationResolver.java:72)
at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.resolveGraph(ErrorHandlingConfigurationResolver.java:67)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$3.execute(DefaultConfiguration.java:455)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$3.execute(DefaultConfiguration.java:446)
at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveGraphIfRequired(DefaultConfiguration.java:446)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveToStateOrLater(DefaultConfiguration.java:422)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.doGetFiles(DefaultConfiguration.java:515)
... 65 more
Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.github.jengelman.gradle.plugins:shadow:1.2.4.
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData(ErrorHandlingModuleComponentRepository.java:96)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.process(ComponentMetaDataResolveState.java:66)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.resolve(ComponentMetaDataResolveState.java:58)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch(RepositoryChainComponentMetaDataResolver.java:116)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch(RepositoryChainComponentMetaDataResolver.java:99)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule(RepositoryChainComponentMetaDataResolver.java:72)
... 94 more
Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://plugins.gradle.org/m2/com/github/jengelman/gradle/plugins/shadow/1.2.4/shadow-1.2.4.pom'.
at org.gradle.internal.resource.ResourceExceptions.failure(ResourceExceptions.java:69)
at org.gradle.internal.resource.ResourceExceptions.getFailed(ResourceExceptions.java:52)
at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource(DefaultExternalResourceArtifactResolver.java:106)
at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.resolveArtifact(DefaultExternalResourceArtifactResolver.java:65)
at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.parseMetaDataFromArtifact(ExternalResourceResolver.java:198)
at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveStaticDependency(ExternalResourceResolver.java:175)
at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.doResolveComponentMetaData(MavenResolver.java:110)
at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveComponentMetaData(ExternalResourceResolver.java:455)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CacheLockReleasingModuleComponentsRepository$LockReleasingRepositoryAccess$2.run(CacheLockReleasingModuleComponentsRepository.java:78)
at org.gradle.internal.Factories$1.create(Factories.java:25)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:251)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:323)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:146)
at org.gradle.cache.internal.DefaultCacheFactory$ReferenceTrackingCache.longRunningOperation(DefaultCacheFactory.java:189)
at org.gradle.api.internal.artifacts.ivyservice.DefaultCacheLockingManager.longRunningOperation(DefaultCacheLockingManager.java:50)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CacheLockReleasingModuleComponentsRepository$LockReleasingRepositoryAccess.resolveComponentMetaData(CacheLockReleasingModuleComponentsRepository.java:76)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveComponentMetaData(CachingModuleComponentRepository.java:312)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.BaseModuleComponentRepositoryAccess.resolveComponentMetaData(BaseModuleComponentRepositoryAccess.java:49)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.memcache.InMemoryCachedModuleComponentRepository$CachedAccess.resolveComponentMetaData(InMemoryCachedModuleComponentRepository.java:82)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData(ErrorHandlingModuleComponentRepository.java:94)
... 99 more
Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://plugins.gradle.org/m2/com/github/jengelman/gradle/plugins/shadow/1.2.4/shadow-1.2.4.pom'.
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:82)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet(HttpClientHelper.java:66)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet(HttpClientHelper.java:70)
at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:43)
at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:29)
at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.openResource(DefaultExternalResourceConnector.java:56)
at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.openResource(ProgressLoggingExternalResourceAccessor.java:36)
at org.gradle.internal.resource.transport.DefaultExternalResourceRepository.getResource(DefaultExternalResourceRepository.java:63)
at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource(DefaultCacheAwareExternalResourceAccessor.java:76)
at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource(DefaultExternalResourceArtifactResolver.java:97)
... 116 more
Caused by: javax.net.ssl.SSLException: java.security.ProviderException: java.security.InvalidKeyException: EC parameters error
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:394)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:113)
at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead(HttpClientHelper.java:89)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:80)
... 125 more
Caused by: java.security.ProviderException: java.security.InvalidKeyException: EC parameters error
... 139 more
Caused by: java.security.InvalidKeyException: EC parameters error
... 139 more
Caused by: java.security.NoSuchProviderException: no such provider: SunEC
... 139 more
BUILD FAILED
Total time: 1.766 secs
1 ✗ user@ursae ~/.opt/ethereum-harmony $ pacaur -Ss jdk | grep installed
extra/jdk8-openjdk 8.u121-1 [installed]
extra/jre7-openjdk 7.u131_2.6.9-1 [installed]
extra/jre7-openjdk-headless 7.u131_2.6.9-1 [installed]
extra/jre8-openjdk 8.u121-1 [installed]
extra/jre8-openjdk-headless 8.u121-1 [installed]
0 ✓ user@ursae ~/.opt/ethereum-harmony $ uname -a
Linux ursae 4.10.2-1-ARCH #1 SMP PREEMPT Mon Mar 13 17:13:41 CET 2017 x86_64 GNU/Linux
0 ✓ user@ursae ~/.opt/ethereum-harmony $
Didn't notice any effect of pushing 'Test Ports' link for the first time
Looking at Harmony:
- Dashboard
a) It would be great to see links on: Highest known block, Top miners addresses. Maybe after fast sync is over, block at top could be a link too. Blocks in tree too.
b) Tree is not loaded on fast sync? Lost it. If not, maybe show something there, so user will know that there should be something on this place later.- Ethereum peers. Maybe checkbox "Show non-active peers" should add non-active peers to list, not display only non-active?
- JSON RPC API usage.
a) Some sorting would be helpful. At least, latest usage / default.
b) Is it difficult to add link on method name, so I click on it and I'm in terminal with method name typed, same for history of invocations, but both without "Enter" (I mean when it's added to terminal, it's not executed automatically)- Terminal
a) It would be great if methods in list were links, so you could auto-complete with mouse
b) It would be great to see method help and invocation history when method name is typed completely.
c) Actually it looks like you can merge "Terminal" and "JSON RPC API usage" in future- Wallet
a) Tab is not working on forms
b) I'm getting another address with same mnemonic phrase as in CashEth
c) Where do I setup keystore password?
d) ( ) Keystore password ( ) Private key or sha3 seed words ( ) Mnemonic phrase
This thing looks too complex. Sha3 seed words will be 1 time sha3, mnemonic phrase 2031, yeah?
e) Also buttons are a bit confusing, maybe add some icon for watch-only add button? or name it "Watch address"
When window is made smaller it looks like the last log line is below the bottom page edge
Normally it's always 'Few seconds ago' so exact number of seconds would be more informative
Once the node is started, I got a bunch of errors like this:
2017-10-22 15:33:53,763 ERROR [MessageBroker-7] harmony - Error in making wallet address 5167e245-ea52-2b07-b853-29764b21c0f8
org.spongycastle.util.encoders.DecoderException: exception decoding Hex string: invalid characters encountered in Hex string
at org.spongycastle.util.encoders.Hex.decode(Hex.java:132)
at com.ethercamp.harmony.service.WalletService.lambda$getWalletInfo$104(WalletService.java:258)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.concurrent.ConcurrentHashMap$EntrySpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.collect(Unknown Source)
at com.ethercamp.harmony.service.WalletService.getWalletInfo(WalletService.java:274)
at com.ethercamp.harmony.service.WalletService.doSendWalletInfo(WalletService.java:237)
at sun.reflect.GeneratedMethodAccessor141.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: invalid characters encountered in Hex string
at org.spongycastle.util.encoders.HexEncoder.decode(HexEncoder.java:180)
at org.spongycastle.util.encoders.Hex.decode(Hex.java:128)
... 22 common frames omitted
I think the main cause of these errors is the method listStoredKeys()
in the class com.ethercamp.harmony.keystore.FileSystemKeystore
/**
* @return array of addresses in format "0x123abc..."
*/
@Override
public String[] listStoredKeys() {
return getFiles().stream()
.filter(f -> !f.isDirectory())
.map(f -> f.getName().split("--"))
.filter(n -> n != null && n.length == 3)
.map(a -> "0x" + a[2])
.toArray(size -> new String[size]);
}
The method does the wrong assumption that if a wallet has --
inside the file name, the right side should be the address of the wallet. This is not true, indeed it usually is the UUID. This should be also expected because the go-ethereum best practices are linked in the head of the same FileSystemKeystore.java file:
/**
* Key store manager working in user file system. Can store and load keys.
* Comply to go-ethereum key store format.
* https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition
**/
I think the class should be able to read wallet with any file name and it should read the address inside the JSON file, at the "address" attribute.
Ethereum Harmony generates private keys using weak PRNGs functions (Java's java.util.random and Javascript's Math.random)
Funds sent to wallets generated using Ethereum Harmony could be at risk.
In harmony by UI if i send a transaction then it is being highlighted but when i am trying to send the transaction usi JSON-RPC from the console the transaction is going through but the transaction is not being highlighted.
Also I tried to implement the Keystore functionality of harmony in my own project by just copying the com.ether.camp.harmony.keystore package in my project then only the transactions from the address specified in the genesis block is going through but the transactions generated using the keystore is being submitted successfully to the network but it is not being mined.
I'm not sure this Harmony problem, but I can't install 2.1.56 and 2.1.57 version. In both cases installation was stopped with message "c:\Program Files\EthereumHarmony\classes\static\bower_components\datamaps\src\js\data\nul.json Could not create this file. Shall I try again?" (yes/cancel).
Windows 10 64bit
When using Metamask and Harmony on Ropsten as RPC source, got incorrect transactions from Metamask with chainID 63.
We can start from smth like MetaMask/metamask-extension#1722
Should be possible by just providing an genesis.json, but since the config format is slightly different from geth, it would be great to have a runRopsten gradle command.
It should return all logs for filter. Not only the logs from last poll.
https://dl.dropboxusercontent.com/u/3365000/java_pid75769.hprof.zip 1.3 GB will unpack to 3.5GB
Happened on Mac (dump) and Win (in ~4 hours after sync from zero).
java.lang.OutOfMemoryError: Requested array size exceeds VM limit
Dumping heap to java_pid75769.hprof ...
Heap dump file created [3450764804 bytes in 14.671 secs]
In dump we noticed 20k BlockWrapper
objects in SyncManager
. Memory limit was 4G.
Anton wasn't able to reproduce in core or harmony.
Common use case, also it would be better for Hive tests and any other JSON RPC tests.
The Windows installer put an ethereumj
folder in %USERPROFILE%
. Nothing should go into this folder except files that the user directly puts there via a save dialog or similar.
The appropriate place for files on modern versions of Windows:
%APPDATA%/<vendor>/<product>
: Small user-specific configuration. This folder is synchronized over networks so nothing large should go in here. If the files are bigger than 1MB, you should ask yourself if this is really the right place.
%LOCALAPPDATA%/<vendor>/<product>
: Large user-specific files. If you want to install an application for a single user on a single machine, this is a reasonable choice. There is also %LOCALAPPDATA%/Programs
if you intend on doing a full user-only local install. If you just want to store user specific large data (caches, blockchain, etc.) then %LOCALAPPDATA%/<vendor>/<product>
is the right location.
%PROGRAMDATA%/<vendor>/<product>
: Large multi-user data. Unlike %PROGRAMFILES%
, this folder is writable by all users on the system. Not a good place to store any security related data, but it can be useful for multi-user configuration data that mutates at runtime.
%PROGRAMFILES%/<vendor>/<product>
: Only administrators have write access here and this makes it a good location to install applications to. Users will not be able to modify it, so anything not available at install time should go elsewhere.
If in doubt, the easiest solution that puts everything in one place is %LOCALAPPDATA%/<vendor>/<product>
. This will be per-user but not synchronized across a network. You can put large or small files here and you don't need to worry about administrator permissions.
Note: On further investigation, it appears that the installer installs some things to Program Files (correct), so I'm not sure why it is putting this ethereumj
folder in %USERPROFILE%
. Is it necessary?
1.Today ,when i run gradlew runMain -Dserver.port=7000
,there is build error info:
E:\business\ethereum-harmony\src\main\java\com\ethercamp\harmony\jsonrpc\EthJson
RpcImpl.java:834: 错误: contracts可以在CompilationResult中访问private
org.ethereum.solidity.compiler.CompilationResult.ContractMetadata contra
ctMetadata = result.contracts.values().iterator().next();
But this error is not exist yesterday,and i find the gradle download a new ethereumj-core-1.7.0-SNAPSHOT.jar.
So i think there is a bug in newest ethereumj-core-1.7.0-SNAPSHOT.jar
FAILURE: Build failed with an exception.
* Where:
Build file '/root/ethereum-harmony/build.gradle' line: 322
* What went wrong:
Execution failed for task ':runMain'.
> Could not resolve all dependencies for configuration ':detachedConfiguration5'.
> Could not resolve org.ethereum:ethereumj-core:1.7.0-SNAPSHOT.
Required by:
project :
> Could not resolve org.ethereum:ethereumj-core:1.7.0-SNAPSHOT.
> Could not load module metadata from /root/.gradle/caches/modules-2/metadata-2.23/descriptors/org.ethereum/ethereumj-core/1.7.0-SNAPSHOT/e66818eedb288165082d23e9d00af43a/descriptor.bin
> Could not resolve org.ethereum:ethereumj-core:1.7.0-SNAPSHOT.
Required by:
project : > com.ethercamp:contract-data:1.4.0
> Could not resolve org.ethereum:ethereumj-core:1.7.0-SNAPSHOT.
> Could not load module metadata from /root/.gradle/caches/modules-2/metadata-2.23/descriptors/org.ethereum/ethereumj-core/1.7.0-SNAPSHOT/e66818eedb288165082d23e9d00af43a/descriptor.bin
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Not sure if this would be an enhancement or a bug -- I tried putting an entry in the /keystore folder for an existing wallet, and adding to the list in the wallet.json but it still does not give me the "keystore password" option on the send eth action screen, and still wants to know my decrypted private key, or sha3.
Use code snipped from
ethereum/ethereumj@ef76529
Harmony should not crash when not enough memory. Notify user instead.
If you use personal_importRawKey in terminal, you get public address in answer but if you switch to Wallet page, new account is not visible there.
I'm not sure if this is a Harmony bug or an EthereumJ bug? However, peer names are prefixed with "0x" for some reason.
"name": "0xParity/v1.7.7-stable-eb7c648-20171015/x86_64-linux-gnu/rustc1.20.0",
Quite often but not always reproducible in Chromium 53.0.2785.143 the wallet does not show coinbase. After several reloadings it's there again, but it's quite unstable.
this is my genesis-private.json
{
"alloc": {
},
"nonce": "0x0000000000000066",
"difficulty": "0x100000",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x7e228a32ceb9153b546ab3c97e9a76afcf7b54ca",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x0102abcd",
"gasLimit": "0x1000000000",
"config": {
"chainId": 2018,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
}
}
miner_start success: info==========
Wow, block mined !!!: f90205f90200a0e2dadca9971054a74086e82b5786e56e12d00c8a3368156ab4a97a36217c7640a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347941ddda91d49bff7861f4074054e9f31aea99190b2a025a05fa22915a92ff7fcf6e20ef3bd6037deac056b0ebdcfba0464802e1a9fdba056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082020082752b871388000000000080845a982020840102abcda04f77a034970b3a30821d1e5f3e4334b92f7dc8fd5ce18e9241ff306418905c9388f2c270c5197ee187c0c0
BlockData [
hash=cd55553f2ed0552cbe91c335060457e9eb7079df52818a9b42ce93de51f11a8a
hash=cd55553f2ed0552cbe91c335060457e9eb7079df52818a9b42ce93de51f11a8a
parentHash=e2dadca9971054a74086e82b5786e56e12d00c8a3368156ab4a97a36217c7640
unclesHash=1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347
coinbase=7e228a32ceb9153b546ab3c97e9a76afcf7b54ca
stateRoot=25a05fa22915a92ff7fcf6e20ef3bd6037deac056b0ebdcfba0464802e1a9fdb
txTrieHash=56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
receiptsTrieHash=56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
difficulty=100000
number=29995
gasLimit=1000000000
gasUsed=0
timestamp=1519919136 (2018.03.01 23:45:36)
extraData=0102abcd
mixHash=4f77a034970b3a30821d1e5f3e4334b92f7dc8fd5ce18e9241ff306418905c93
nonce=f2c270c5197ee187
Uncles []
Txs []
]
but my address 7e228a32ceb9153b546ab3c97e9a76afcf7b54ca balance always 0
please help me ! thanks very much!
I had an issue compiling with IntelliJ. The first time, it didn't work "log variable undefined". Gradle command line build, worked.
Then I found that the Lombok plugin should be installed, and the annotation processing should be enabled.
Could you add the solution to README?
All other client implementations have the RPC port on 8545 and it is a direct interface to the JSON RPC API.
Tools such as MyEtherWallet expect the RPC to be separate from the web interface...but Harmony requires "/rpc" to be appended to the URL. That makes in impossible to use with MEW without customization. It makes it harder for developers to support EthereumJ nodes running via Harmony.
Would it not be easier to just expose 8545 directly to the running EthereumJ node? Or perhaps expose it in addition to the /rpc URL?
Observed often on Mac when run via ./gradlew runRopsten
or via IDE.
Closing via Ctrl+C shows that instance has been stopped, but process remains active and occupies DB LOCK file.
TODO check sample in EthereumJ-core first.
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.