/kotlin-samples

Kotlin sample codes.

Primary LanguageKotlin

Kotlin Samples

Kotlin sample codes.

HTML Builder

html {
  lang = "en"
  head {
    title { +"Kotlin HTML" }
  }
  body {
    p {
      +"This is the first line of paragraph."
      +"This is the second line of paragraph."
    }
    a {
      href = "https://kotlinlang.org/"
      +"Link"
    }
  }
}

State Management

val store = Store(0) { state, action ->
  when (action.type) {
    "increment" -> state + action.payload as Int
    "decrement" -> state + action.payload as Int
    else -> state
  }
}
store.apply(logger())
store.subscribe { println(store.state) }
store.dispatch(Action("increment", 1))
store.dispatch(Action("increment", 2))
store.dispatch(Action("increment", 3))
store.dispatch(Action("decrement", 4))

Blockchain

{
  "chain": [
  {
    "previous": "",
    "transactions": [
    {
      "sender": "305c300d06092a864886f70d0101010500034b0030480241008710f84d9c7bcb90d9e7d19d509a926ec3a2cce62bd9bc14975aad038108bcf8206442309ea1c652324b488d359273353fa4ee0c44a0aa4d875e496e9b342df50203010001",
      "receiver": "305c300d06092a864886f70d0101010500034b003048024100839ce7644b9ea1f81bef8ab5859741e42bb5cae615b6b385a364528496bc29f313a3927c71c8e7950d9945c10997b042b3777b68203161e681d3b7adf0d880670203010001",
      "amount": 40.0,
      "timestamp": 1639205667181,
      "signature": "7df95ec095c337e058970d026bcc83d7c66a1414ab8c2c12f11cda29e5dff7f57b7bb69035caa5f0920d9086be57443c63746684640f416cac2a607d35de9b95"
    },
    {
      "sender": "305c300d06092a864886f70d0101010500034b0030480241008710f84d9c7bcb90d9e7d19d509a926ec3a2cce62bd9bc14975aad038108bcf8206442309ea1c652324b488d359273353fa4ee0c44a0aa4d875e496e9b342df50203010001",
      "receiver": "305c300d06092a864886f70d0101010500034b003048024100a6da3be3024e668344ab62d45eb8ba9bab900583f3cd29935ef292e0344e3732cf7e0817e0b817433fe4d55baebcce615859d04f46683b87d8740a24b23c8c710203010001",
      "amount": 40.0,
      "timestamp": 1639205667391,
      "signature": "35006d082740f28a887040dd113a9bea3917638c3d0ea82704939877f4af4503ecb7cb907677d0e00ce274267f43e7a98c74ee255197ebd10c9ba37daaeb861a"
    },
    {
      "sender": "",
      "receiver": "305c300d06092a864886f70d0101010500034b0030480241008710f84d9c7bcb90d9e7d19d509a926ec3a2cce62bd9bc14975aad038108bcf8206442309ea1c652324b488d359273353fa4ee0c44a0aa4d875e496e9b342df50203010001",
      "amount": 100.0,
      "timestamp": 1639205667392,
      "signature": ""
    }
    ],
    "timestamp": 1639205667394,
    "nonce": 169414,
    "hash": "00000720c87ebc045110662483c8decad3103bddad69695aea9877a8b11fa4f5"
  },
  {
    "previous": "00000720c87ebc045110662483c8decad3103bddad69695aea9877a8b11fa4f5",
    "transactions": [
    {
      "sender": "305c300d06092a864886f70d0101010500034b003048024100839ce7644b9ea1f81bef8ab5859741e42bb5cae615b6b385a364528496bc29f313a3927c71c8e7950d9945c10997b042b3777b68203161e681d3b7adf0d880670203010001",
      "receiver": "305c300d06092a864886f70d0101010500034b003048024100ab135baedce161a76224938dcc488a9eb7468ca06a23d347c72228843b960f2ada8322202bda576fbd6d3e8b108f6ee43e622887be57fd70cfd66e3a34ddc4130203010001",
      "amount": 10.0,
      "timestamp": 1639205673779,
      "signature": "004f0b8e2921f7e1ab1a5af41e5dccfc7fbcd9d24afb2817b175904c5fd6ad4a4a480b91a2861257cebba8b10136d4c730465c5706385fbc94b3fb2e249c44fe"
    },
    {
      "sender": "305c300d06092a864886f70d0101010500034b003048024100839ce7644b9ea1f81bef8ab5859741e42bb5cae615b6b385a364528496bc29f313a3927c71c8e7950d9945c10997b042b3777b68203161e681d3b7adf0d880670203010001",
      "receiver": "305c300d06092a864886f70d0101010500034b003048024100bf083258bad75d5c80d28116c06d09a88679630e059700cefe30456556824c5eb25dadda9e40aada840f2b7b10eea9599e44a4223211ead093da364bb70852dd0203010001",
      "amount": 10.0,
      "timestamp": 1639205673779,
      "signature": "4414b3678ff5edb59a8c9d3a1ed34f3f0cd8fd1012ad3ffde12f9d94d65155ecf0683d28347164fad01830342fa6926bcd3b55607cf3d2c14abd68e546843e90"
    },
    {
      "sender": "305c300d06092a864886f70d0101010500034b003048024100a6da3be3024e668344ab62d45eb8ba9bab900583f3cd29935ef292e0344e3732cf7e0817e0b817433fe4d55baebcce615859d04f46683b87d8740a24b23c8c710203010001",
      "receiver": "305c300d06092a864886f70d0101010500034b003048024100ab135baedce161a76224938dcc488a9eb7468ca06a23d347c72228843b960f2ada8322202bda576fbd6d3e8b108f6ee43e622887be57fd70cfd66e3a34ddc4130203010001",
      "amount": 10.0,
      "timestamp": 1639205673780,
      "signature": "919ea84c9d4b41bf5dc42c30c14c0f3325616a0fbf3e5e6bab239fd1d148a5d237fa35f4d6ffa1640aa90a2d3ee7eda8aefc847ed596db1dc3cddf5cb1934076"
    },
    {
      "sender": "305c300d06092a864886f70d0101010500034b003048024100a6da3be3024e668344ab62d45eb8ba9bab900583f3cd29935ef292e0344e3732cf7e0817e0b817433fe4d55baebcce615859d04f46683b87d8740a24b23c8c710203010001",
      "receiver": "305c300d06092a864886f70d0101010500034b003048024100bf083258bad75d5c80d28116c06d09a88679630e059700cefe30456556824c5eb25dadda9e40aada840f2b7b10eea9599e44a4223211ead093da364bb70852dd0203010001",
      "amount": 10.0,
      "timestamp": 1639205673780,
      "signature": "37c0b899e36117537afe42ca9ef95a1ce8b758eb572f8fd65b799cb5cf04e89518b6191a1bb23d9b0dbe4b5d45731fd35fb7f3ec5402484a28e7dcd4a7e1dd2b"
    },
    {
      "sender": "",
      "receiver": "305c300d06092a864886f70d0101010500034b0030480241008710f84d9c7bcb90d9e7d19d509a926ec3a2cce62bd9bc14975aad038108bcf8206442309ea1c652324b488d359273353fa4ee0c44a0aa4d875e496e9b342df50203010001",
      "amount": 100.0,
      "timestamp": 1639205673780,
      "signature": ""
    }
    ],
    "timestamp": 1639205673780,
    "nonce": 267722,
    "hash": "0000df70fce83deee3abecc198da954c0f6fb22879700f84af9ccbed0dc39724"
  }
  ],
  "transactions": []
}

2D Graphic

Circles