Search code examples
blockchainiotiota

How to start with IOTA application


i want to develop an IOTA application, but not a messaging application or coin based system. I want an simple example of how to store data in IOTA. For example i want to build an SCM or even an simple login/registration app. Can anyone guide me? Any sample application? i try to run https://github.com/domschiener/leaderboard-example But getting same error like https://github.com/domschiener/leaderboard-example/issues/6 How to run this.


Solution

  • Storing text data on the tangle is not that difficult. The following are snippets from my tangle-based app. I used IOTA's API Java wrapper library Jota.

    1) Connect to IOTA node. You can find a list of nodes here https://nodes.iota.works. Also you can set up your own full node and use it instead of an external one.

    final String protocol = "https";
    final String url = "tuna.iotasalad.org"; 
    final String port = "14265";
    IotaAPI iotaServer = new IotaAPI.Builder().protocol(protocol).host(host).port(port).build();
    

    2) Covert your text into trytes

    String trytes = TrytesConverter.toTrytes("my text");
    

    3) Prepare and send transaction to tangle

    private static final String SEED = "IHDEENZYITYVYSPKAURUZAQKGVJERUZDJMYTANNZZGPZ9GKWTEOJJ9AAMXOGZNQLSNMFDSQOTZAEETA99";//just a random one
    private static final int MIN_WEIGHT_MAGNITUDE = 14;
    private static final int DEPTH = 9;
    private static final int TAG = "mytag"; //optional
    
    String tangleHash = prepareTransfer(createAddress(), trytes);
    
    public String createAddress() throws ArgumentException {
         GetNewAddressResponse res = iotaServer.getNewAddress(SEED, 2, 0, false, 1, false);
         return res.getAddresses().get(0);
    }
    
    public String prepareTransfer(String address_seclevel_2, String trytes) throws ArgumentException {
        List<Transfer> transfers = new ArrayList<Transfer>();
        transfers.add(new Transfer(address_seclevel_2, 0, trytes, TAG));
        SendTransferResponse str = iotaServer.sendTransfer(SEED, 2, DEPTH, MIN_WEIGHT_MAGNITUDE, transfers, null,
                        null, false, false);
        if(str.getSuccessfully()!=null){
            //Transfer successfully! 
    
            for(Transaction tx: str.getTransactions()) {
                return tx.getHash();
            }
    
        }
        return "Handle error here. Something went wrong!";
    
    }