Adappt - A better EOS IDE
EOS's official CDT's installation process sucks, especially on mac, and no one in their right mind is going to use a closed source compiler suite that runs on a remote server to compile their contract (Looking at you, EOS Studio).
That's why we made adappt.
To compile your next contract, just make sure you have a relatively recent version of docker installed and run:
docker run --rm -p 3000:3000 eosrapid/adappt:1.2.5
Wait around 90 seconds and then open http://localhost:3000 when your terminal tells you to.
No eosio.cdt/clang/cmake or anything else (besides docker) is required.
The version on Docker Hub/Github is a pretty early pre-Alpha, but we will be releasing a beta version with a lot more features including an inspector/calling interface similar to what remix IDE does for Ethereum, and some integrations with a few other cool projects we have in the pipeline.
Checkout our github for our update coming later next week: https://github.com/eosrapid/workflow-compiler-server
Right now the alpha version just compiles your code (click the crown to compile) to a wasm + abi file, but the beta will support deploy with scatter/private key.
In the meantime, you can safely deploy your contract without installing any bloated EOS official tools by using eosjs.
const { Api, JsonRpc, RpcError } = require('eosjs');
const { JsSignatureProvider } = require('eosjs/dist/eosjs-jssig'); // development only
const fetch = require('node-fetch'); // node only; not needed in browsers
const { TextEncoder, TextDecoder } = require('util'); // node only; native TextEncoder/Decoder
const { TextEncoder, TextDecoder } = require('text-encoding'); // React Native, IE11, and Edge Browsers only
const defaultPrivateKey = ""; // put your EOS private key here
const signatureProvider = new JsSignatureProvider([defaultPrivateKey]);
const rpc = new JsonRpc(<your favorite eos mainnet api node>, { fetch });
const api = new Api({ rpc, signatureProvider, textDecoder: new TextDecoder(), textEncoder: new TextEncoder() });
const WASMHEX = <your contract's wasm hex>
const ABI = <your contract's pre stringify'd abi here>
const account = <your account name>
(async () => {
const result = await api.transact(
{
actions: [
{
account: 'eosio',
name: 'setcode',
authorization: [
{
actor: account,
permission: 'active',
},
],
data: {
account: account,
vmtype: 0,
vmversion: 0,
code: WASMHEX,
},
},
{
account: 'eosio',
name: 'setabi',
authorization: [
{
actor: account,
permission: 'active',
},
],
data: {
account: account,
abi: ABI,
},
},
],
},
{
blocksBehind: 3,
expireSeconds: 30,
})
console.dir(result);
})();
We will be adding more features over the next few weeks, stay tuned!
Made with love by EOS Rapid.
Congratulations @eosrapid! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit