GithubHelp home page GithubHelp logo

urszeidler / uml2solidity Goto Github PK

View Code? Open in Web Editor NEW
37.0 4.0 14.0 4.11 MB

A uml profile and a set of acceleo code generators to model smart contracts in uml and generate solidity code.

License: Eclipse Public License 1.0

D 0.07% Java 99.93%
uml solidity acceleo eclipse papyrus eclipse-plugin code-generator smart-contract-tools

uml2solidity's Introduction

uml2solidity

A uml profile and a set of acceleo code generators to model smart contracts in uml and generate solidity, java script and java code together with documentation. Usable with the Papyrus UML modeler for eclipse.

Gitter chat

Drag to your running Eclipse workspace to install Uml to Solidity

a plugin for eclipse:

  http://urszeidler.github.io/uml2solidity/uml2solidity-updatesite/

refer to install section of the wiki when you are not familiar with eclipse and the update mechanism.

dependencies:

  • uml2 (5.0)
  • papyrus (1.1.x)
  • acceleo (3.5)

There are all available in the default Mars updatesite.

find out more in the docs

Use eclipse as your main editor with the solidity editor and compile the code in the background with the solidity builder.

Extend the generation process by adding new model to text transformations.

you can tip the coder by sending some ether : 0x25b2ce55746f54d88e9fc4d2f0f85e879c30bb05

License

The code is published under the terms of the Eclipse Public License, version 1.0.

with-Eclipse logo

uml2solidity's People

Contributors

urszeidler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

uml2solidity's Issues

Generate standalone JSON ABI file

Currently, the ABI for the Solidity contracts is included in the generated JS files

var [Classname]Contract = web3.eth.contract(ABI);

It would be great to have the ABI as a single standalone file eg. classname.json

Contribution contact point

Hi Urs, although we had a bad introduction in the past, I feel I can contribute a lot to this project. I have experience with Eclipse, Acceleo and Ethereum programming. Please contact me by email: [email protected]

Switch the generation to a start configuration.

It would make sense to change the generation start from a project preference and the start generation button in the toolbar to a start configuration. Like the uml2java generator.

The start configuration is independent from the project pref and so it is possible to have several generation targets for one model.
It also can be easily shared.

conflicting dependency

Thanks that you are doing this. I am used to Eclipse, and would just like to have solidity syntax coloring in my favorite IDE.

I am trying to install via http://urszeidler.github.io/uml2solidity/uml2solidity-updatesite/

but it results in these errors:

Cannot complete the install because of a conflicting dependency.
Software being installed: Solidity compiler Feature 1.0.3.201606152126 (de.urszeidler.eclipse.solidity.compiler.support.feature.feature.group 1.0.3.201606152126)
Software currently installed: Enide 2015 4.5.0.20150706-0926 (nodeclipse.package.enide.product 4.5.0.20150706-0926)
Only one of the following can be installed at once:
Core Resource Management 3.10.0.v20150423-0755 (org.eclipse.core.resources 3.10.0.v20150423-0755)
Core Resource Management 3.10.1.v20150725-1910 (org.eclipse.core.resources 3.10.1.v20150725-1910)
Core Resource Management 3.8.101.v20130717-0806 (org.eclipse.core.resources 3.8.101.v20130717-0806)
Core Resource Management 3.8.100.v20130521-2026 (org.eclipse.core.resources 3.8.100.v20130521-2026)
Cannot satisfy dependency:
From: Solidity compiler Feature 1.0.3.201606152126 (de.urszeidler.eclipse.solidity.compiler.support.feature.feature.group 1.0.3.201606152126)
To: org.eclipse.core.resources 3.10.1
Cannot satisfy dependency:
From: Enide 2015 4.5.0.20150706-0926 (nodeclipse.package.enide.feature.feature.group 4.5.0.20150706-0926)
To: org.eclipse.platform.feature.group [4.5.0.v20150603-2358]
Cannot satisfy dependency:
From: Enide 2015 4.5.0.20150706-0926 (nodeclipse.package.enide.product 4.5.0.20150706-0926)
To: nodeclipse.package.enide.feature.feature.group [4.5.0.20150706-0926]
Cannot satisfy dependency:
From: Eclipse Platform 4.5.0.v20150603-2358 (org.eclipse.platform.feature.group 4.5.0.v20150603-2358)
To: org.eclipse.core.resources [3.10.0.v20150423-0755]

What to do?

Thanks!

Fix the generated Junit code.

Currently the generated junit code contains a minor error.
In the createFixture() method the compiled contract can no longer get via ethereum facade.

We need to add a method in the AbstractContractTest as following:

public CompiledContract getCompiledContract() throws InterruptedException, ExecutionException {
	Map<String, CompiledContract> map = ethereum.compile(contractSource).get();
	return map.get(getContractName());
}

And use this method in createFixture().

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.