many months, VMs, and tutorials later and I still cannot get a return value from a contract

taramanictaramanic Member Posts: 24 ✭✭
I know this is cutting edge software, but the last time I actually got a return value from a contract was somewhere around PoC-3 or (I think) -- I remember it was the contract.
I've run through every tutorial I could find and the only ones that actually worked were KenK's. (Thanks for doing that KenK!)
Unfortunately, I cannot find any example that works where I call my contract and get a return value -- this is an absolute necessity for me to test my contract.
I've tried using Solidity on: the poc7 VMware image as well as my own VirtualBox build of poc8.
I've tried using Serpent on: pyethereum.
I've tried probably 30 different variations of building code with different options, installing binaries vs building code, trying both serpent as well as solidity on each one of the different tools.
I can manually load contracts via alethzero and (theoretically) I can call them, but I have no evidence that this is actually happening because I cannot get a return value.
I can successfully create a contract in pyethereum but I get errors like "Exception: Encode datalist deprecated" when I try to call the contract based on examples.
People keep pointing me to examples that should address my problem, but the examples don't behave as described.
I would be very happy if I could just get a single return value from any contract to work -- does any example/tutorial like this exist?


  • KenKKenK Member Posts: 44 admin
    edited March 2015
    This example page works in the latest 'master' version of Alethzero - you generate a test contract and you can call it's functions and it will return a value.
  • taramanictaramanic Member Posts: 24 ✭✭
    Thanks KenK, I was already aware of the contract.html -- that's exactly the thing I couldn't get to work.

    But this morning I finally got it to work by combining what I learned from drcode's forum post with your tutorials, plus some haphazard guessing.

    I wrote my notes here because I was afraid I'd forget how I did it.
  • oomooomo Member Posts: 31
    @taramanic I completely understand the frustration that you had. Me and my team are running into similar issues. Lots of information here is so stale, based on earlier POCs that it is really heard to make out what works and what doesn't. The project has got through so many different contract language changes, so some example are are in serpent, some in LLL and now some in Solidity. There are also so many client implementation on GitHub - There is JS, JavaScript, NPM, node.js, etc. etc. It is all over the map. And I just keep seeing only one kind of example - The one about transferring money (Bank Example). Let's see more examples of smart contracts. I want to see an example on how I can display a transaction log. How can I use named registry? Can I create a wallet that can store other things besides "ether"?

    Overall, I think needs to clean up the wiki, blog, github and get rid of outdated stuff and have a decent tutorial that is not a blog, but a document.
  • SilentCiceroSilentCicero Toronto, CAMember Posts: 159 ✭✭✭
    @taramanic I just put up a new tutorial for POC 0.9.8+, its all within a VM: - There is a basic contract/deploy built into the DApp. Cheers, hope it helps.
  • taramanictaramanic Member Posts: 24 ✭✭
    Update on my situation: For about the past month I managed to get my system to work by re-installing everything using the same steps I've always used, then it suddenly worked! (So the steps I followed must not have been exactly the same.) I've tried reproducing the same steps on other machines without luck, so I've just been treating my setup like a house of cards and not making any radical changes.

    @oomo I agree, it was the stale information that threw me off track the most. Of course Murphy's law caused me to look at the newest information last!

    @SilentCicero thanks putting the effort into that tutorial and sharing it with everyone -- I'll check it out tonight.
Sign In or Register to comment.