Adappt - A new EOS development IDE that doesn't require any installation or local CDT build.

in eos •  5 years ago  (edited)

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.
crown.jpg

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.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @eosrapid! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

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!