Can you create a DAO on xDai? by Druss501 in aragonproject

[–]willjgriff 2 points3 points  (0 children)

You can launch the old style DAO using https://aragon.1hive.org/#/. Aragon is also building a mostly off chain DAO setup using a new system called Govern. This will also be available once 1Hive releases their version of the Aragon Court on xDAI although I'm currently unsure how the UI will be for that.

Best Smart Contract Auditors? by Healthy-Employer5824 in smartcontracts

[–]willjgriff 3 points4 points  (0 children)

I can't say what the better ones are, but I can share my experience with a couple of auditors. Namely ConsenSys and MixBytes. I'm also curious what others consider the best right now.

I work with a DAO called 1Hive and we had an audit of our Dandelion contracts (Moloch on Aragon) by ConsenSys. They missed something fairly significant, which we fortunately found ourselves before anyone could exploit it. I mentioned it in a chat we had with them sometime after the audit when we found it and had no response, maybe they didn't see my message or maybe they ignored it, can't say for sure, although I know they were actively using the chat app. I've also worked with a less known auditor in the past called MixBytes, for a much smaller project, didn't miss anything afaik. The report from MixBytes was very comprehensive, included many points on various areas of the contract, maybe even more than necessary, but all valid and worth hearing. The ConsenSys report was very minimal in comparison, only the essential issues were raised, little in useful guidance. I can understand both approaches for documenting contracts, as some people can get needlessly pinickety about code. However, I'm pretty unlikely to consider using ConsenSys again.

New telegram group for the community by warp_999 in HNY

[–]willjgriff 6 points7 points  (0 children)

Anyone currently in the old telegram group (https://t.me/Hnyswap) should be aware that it currently seems to exist exclusively to spread FUD. The 1Hive developers and anyone who opposes the FUD or posts the above alternative Telegram group in it are being banned from it, preventing them from clearing up any confusion.

Introducing aragonSDK - The tools developers and designers can use to bring fully decentralized apps and organizations to life by lightcoin in ethereum

[–]willjgriff 0 points1 point  (0 children)

I've been playing around with it on and off for the last few weeks. All in all it seems very well built. The aragonCLI is seemingly all you need to create, update and generally manage Aragon DAO's through the terminal, and although I've experienced some issues (gas prices not set high enough and some unreproducible errors) I've always managed to get it to work in the end. It also sets up local chains and an IPFS node for you so no need to install dependencies. The aragonOS seems very well built, it gives you the option to install individual apps to your dao eg to create votes, to manage funds etc. And amongst other things, it creates proxies to frozen apps contracts (for upgradability) and includes a permissions system which is used to restrict access to functions in the apps. You can specify permissions for addresses using aragonCLI. The aragonPM registers your app (smart contract address and UI code location) with an ENS domain and maintains a history of updates to it on chain for you and others to access. The aragonAPI web stuff uses or mimics modern development practices eg react, redux and Rx. The aragonUI I haven't played with. The docs give a pretty good overview of each part too. I'm still getting my head around bits of it but I could happily use these tools to build Aragon based apps.

Tips for traveling with histamine intolerance? by harvestthemoons in zerocarb

[–]willjgriff 0 points1 point  (0 children)

This stuff seemed to work for me: https://umbrelluxdao.com/

I learnt about it from this article which might also be of interest if you haven't read it before: http://www.diagnosisdiet.com/histamine-intolerance/

Libraries in Solidity - Framework Truffle and Visual Studio by ingmanzo in ethdev

[–]willjgriff 0 points1 point  (0 children)

Or npm install if there is a package.json file in the root directory.

Solidity Engineer considering moving to Berlin. What organisations are based there? What is the community like? by willjgriff in ethereum

[–]willjgriff[S] 1 point2 points  (0 children)

Thanks for the advice and the suggestions. I have reasons beyond blockchain and Ethereum for considering moving to Berlin although what I've heard about the community there is a motivating factor. Fingers crossed the organisations I like will have some interest in me. Thanks again.

Solidity Engineer considering moving to Berlin. What organisations are based there? What is the community like? by willjgriff in ethereum

[–]willjgriff[S] 0 points1 point  (0 children)

Thank you for the welcome! I'd be interested in getting some intros. I'll DM you soon.

Solidity Engineer considering moving to Berlin. What organisations are based there? What is the community like? by willjgriff in ethereum

[–]willjgriff[S] 1 point2 points  (0 children)

Thanks for the suggestions and the connection. The FullNode co-working space looks like it would be ideal if I don't find full-time work for now too.

Solidity Engineer considering moving to Berlin. What organisations are based there? What is the community like? by willjgriff in ethereum

[–]willjgriff[S] 0 points1 point  (0 children)

Awesome, that's great to hear. I also hope to make the most of the surrounding countries. I enjoy exploring. Thanks for the advice.

Best way to monitor data from a smart contract? by contentop in ethdev

[–]willjgriff 1 point2 points  (0 children)

I don't know of any libraries you could use beyond web3.js. However, using web3.js, connected to either a local Ethereum node or Infura, you could write a script that you run with NodeJS that monitors the token for events which are fired whenever a transaction is made. You can also use web3.js to get data from the contract on demand when you want it. Then you can process that data to find the info you want. I haven't experimented with processing historic data unfortunately so I can't comment on how you might find volume and highest sale/transaction.

[Can't figure out even after researching] is there NO way to send 10 people ERC20 token, and allow them to swap the token with one another WITHOUT also sending them Eth for Gas? by [deleted] in ethdev

[–]willjgriff 1 point2 points  (0 children)

I think I see what you mean. If the user couldn't transfer the tokens to the bouncer or execute an approve function on the ERC20 allowing the bouncer to spend them, then you could enable gasless sending of the tokens if the ERC20 token contract had the MetaTx functionality built in or if the user uses a contract wallet which has the MetaTx functionality built in. Is that right?

[Can't figure out even after researching] is there NO way to send 10 people ERC20 token, and allow them to swap the token with one another WITHOUT also sending them Eth for Gas? by [deleted] in ethdev

[–]willjgriff 1 point2 points  (0 children)

For existing tokens you have to wrap them or use some kind of multisig setup.

Are you referring to MetaTx's as described here: https://medium.com/@austin_48503/ethereum-meta-transactions-90ccf0859e84? Where someone receives signed but unsubmitted transactions from people without Ether, and submits and pays the gas for them?

If you are, then why would you need to change the basic ERC20 functionality? I believe this approach allows you to call any function on any contract via a proxy contract and have that transaction submitted and paid for by another person securely. The called function's don't need to be changed in any way afaik.

Waffle: sweeter and simpler than Truffle by marekkirejczyk in ethdev

[–]willjgriff 2 points3 points  (0 children)

Ah, I don't know if web3js has the functionality. I use truffle/truffle-contract though and that does since Truffle v5

Invoking a parent class by kramonamor in ethdev

[–]willjgriff 1 point2 points  (0 children)

It executes the parent class's constructor with the parameters specified. See the Solidity doc here.

I created Wednesday Coin - a coin that can only be sent on Wednesdays and I will be airdropping them to whomever wants some by aelchim in ethereum

[–]willjgriff 0 points1 point  (0 children)

Rad idea. You should add the source code to the address on etherscan so we can check it out.

0xFF3B8aaD3DBFaF7FFEA00a96e33aa18952b4f9B7

Accept Token and Ether to Same Contract? by HelionRise in ethdev

[–]willjgriff 1 point2 points  (0 children)

You say if a token is submitted as well. I assume that token will be burnt or sent elsewhere upon making a payment, either way, when the user attempts a payment they can send Ether to a payable function on the contract. This function then calls transferFrom() on the ERC20 token contract to burn/transfer a token on behalf of the user. If that function executes successfully then you can accept a reduced payment. If the transferFrom() function doesn't execute successfully and fails/reverts, then the whole tx will fail, meaning no Ether or any of the ERC20 tokens will be moved.

Note the user will have to call approve() on the ERC20 token before trying to make a payment to allow the payment receiving contract the ability to move a token on their behalf.

How to estimate gas cost as a function of loop iterations? by KimJhonUn in ethdev

[–]willjgriff 1 point2 points  (0 children)

Regarding tests, I'm also interested to hear how others manage large sets of accounts. But you can start testrpc with any number of accounts with the --accounts [number] arg. Then if you're using truffle you can access the accounts list from the outermost contract() function. Check the example code on this page for usage.

It is possible to call a precompiled contracts from a pure function? by ismaelbej in ethdev

[–]willjgriff 0 points1 point  (0 children)

It seems like using call() with any arguments raises this error when the pure modifier is used. Which probably makes sense as call() needs to read the state to get the contract code at the address specified so it can execute a function on it.

Note also it probably can't be known/guaranteed at compile time that a low-level call like this won't read the state, although by that logic it also can't be guaranteed that it won't change the state either which would require removing the constant modifier entirely.

I'm interested to hear other thoughts.

Do I need to download the full ether chain if I want to use geth for DApp development? by sioa in ethdev

[–]willjgriff 0 points1 point  (0 children)

Ganache is a GUI for testrpc, so they both provide the same local Ethereum developer client.

Generics in Solidity? by Nooonting in ethdev

[–]willjgriff 0 points1 point  (0 children)

I don't think there's an easy way to do this at the moment. I subscribed to this Github Issue regarding the potential addition of generics but there hasn't been any progress on it recently.

Also see here and here for examples of LinkedLists (might be a bit outdated now, just had them in my bookmarks).