While there is limited information on dApp stack, here's what I found on the internet so far while we wait for more.
🔗 Find the updated version of the compilation here 🔗
🎬 Youtube Channels
Setting up a Virtual Machine and EOSIO for smart contract development
Basic EOSIO smart contract schema, structs, actions and persisting to the blockchain
And the code for it (including the invaders contract) here:
I'm writing here the contracts that helped me the most and the guides that I'm aware.
nsjames youtube series: https://www.youtube.com/channel/UC_0j3NAYVBiyY152K0f-2og
Kevin Heifner, Webinar from OCI, one of the main EOS committers: https://objectcomputing.com/resources/events/webinars/building-apps-with-eos/webinar-recording - the bonus here is that he ...
eosiocpp currently compiles contracts using c++14. cib compiles contracts using the c++17 language, but c++14 library.
sandboxing: contracts are compiled to WASM. Normal OS functions (filesystem, threading, etc.) are not available.
Note: cib requires an up-to-date Firefox (fastest) or Chrome (slow loading).
This is a very subjective thing. Personally I would recommend to learn React with Redux.
Here is a little Tutorial
The main advantage is that you can use React for the visual representation und decapsule it from the application logic which is build with Redux.
Other stuff to look at would be
Angular 4 (visual Framework)
Vue (visual Framework)
and maybe ...
Youtube guide for creating and interacting with smart contracts for dawn 3.0, it doesn't include a web interface but seems quite in-depth otherwise with 3 videos available in the series.
Non-video guide for creating smart contracts, multi-part, as of this posting the guide is not yet complete with only 2 entries. The guide claims to be end-to-end so they ...
I think the best examples lives in Scatter-Demo repository: https://github.com/EOSEssentials/Scatter-Demos
I have also built MonsterEOS where you can check another interaction with EOSJS and Scatter: https://github.com/leordev/monstereos
I heavily use eosjs with Vue.js+Vuex, it is much more developer friendly and easier to learn than React when you want to scale. The first EOS browser extension, Scatter, also uses Vue for the frontend very effectively, so does Bloks.io(best EOS block explorer with wallet), BetDice(biggest probably fair EOS gambling site) and many more.
EOSIO currently supports the following operating systems:
Amazon 2017.09 and higher
Fedora 25 and higher (Fedora 27 recommended)
Ubuntu 16.04 (Ubuntu 16.10 recommended)
MacOS Darwin 10.12 and higher (MacOS 10.13.x recommended)
Windows is not supported at the moment and no announced plans to support it in the nearest future.
It seems to be shared only internally.
After being committed, it seems to be reflected in the document below.
Why do they open this that looks so useless?
The EOS.io Wiki page on using the Docker image suggests using the following command: alias cleos='docker-compose exec keosd /opt/eosio/bin/cleos -H nodeosd' to setup a local alias of the cleos command that operates on the docker image.
With this alias setup, you can execute the EOS client commands just like you would on a local instance.
In short, the only restriction that EOSIO imposes at the moment is that your contracts need to be compiled to WASM, and communicating with nodes is done via HTTP requests sent to the appropriate end-points in the binary format expected by the ABI. The former means that right now your contracts will need to be in C++, and the latter means you'll need to use ...
You can use Docker like bob_cobb mentioned.
What you need is Windows 10 (Enterprise, Professional oder Education) with Hyper-V and a 64-bit system. Older Versions rely on VirtualBox if this doesn't fit. Here is a tutorial to activate Hyper-V on your machine.
Then you can install docker and follow the steps for EOS from GitHub wiki.
I think the safest way is to go to the latest branch:
git checkout v1.0.5
git submodule update --init --recursive
./eosio_build.sh -a “EOS” && cd build && make
Then start your nodeos again and you should be updated.
You could use an approach similar to the dice contract sample:
Each user submits sha256(move), where move contains the user's actions plus a random number
After the turn, each user submits move. The contract can verify the move matches the hash.
I guess the problem lies in your cast to char * and the data.size().
You should try to use the std::string::c_str() method. Also the size you need to provide is the size of your string times the size_of(char).
I use this piece of code:
checksum256 calc_hash; // fc::sha256
If a transaction is introduced in a block that never achieves 2/3+1 confirmations, it means there's likely a fork where at least 1/3 of the BPs are building blocks on. In this case, the blockchain is forked, and the fork with more BPs will be faster and thus will become the longest chain, where honest BPs will build on. Neither of the forks will ...
You have multiple questions in this post, in the future you should try to have a more focused question.
".front()" is a vector function.
From the documentation:
std::vector::front() Returns a reference to the first element in the vector.
Now, I'll assume you weren't actually asking about front(), and instead about the purpose of the merkle() function ...
I don't know if there is a way for a smart contract to create another smart contract itself.
However, I'd say the use case for this would have to be pretty damn extravagant.
Given your token factory example, it wouldn't make sense to approach it that way. In EOS, instead of generating a smart contract per token you would have multiple tokens based off ...
Try starting the nodeos process with the --contracts-console option in the command line to force it to enable it in case it wasn't using that specific config file or something like that.
Besides that, try being more specific with the print function by prefixing it with the eosio namespace, like eosio::print, and also try printing just a literal string ...
Yes this is possible, the devil is in the details though.
You have to make sure that you correctly serialize both structs, and that you set up the secondary index for the 2nd struct ID correctly in the multi_index table.
However, doing it this way will use up a lot of space in your table as you would have the full other_struct within your st_main struct. ...
The amazing potential of EOS will attract a lot of developers. The more dapp developers in the EOS ecosystem, the more development support tools will be available. Now is a bit uncomfortable for a while.
I am developing a EOS design support and implementation automation tool.The tool analyzes contracts, supports designs based on them, and automates the ...