Techniques for Using Server-side Node.js Modules with the Truffle Ethereum Development Framework

Authors and Affiliations

  • Hyun-Min Eom
  • Jae-Hwan Jin
  • Myung-Joon Lee

About this article

Download PDF

Keywords:

Ethereum, Decentralized Application, Truffle, Function Gateway, Blockchain.

Abstract

Truffle is a framework that provides compiling, testing and systematic project management for developing Ethereum decentralized applications. As of now, Truffle provides a way to easily deal with bundling node.js modules of decentralized application using the webpack tool. However, due to the Truffle project structure, server-side node.js modules such as network communication modules are not usable in a direct way.  In this paper, to address this issue, we propose a method to use server-side node.js modules through Ethereum smart contracts and event processing mechanism. In the proposed method, a separate node application is associated to the server-side module to execute the module in response to the request of the decentralized application. To this end, we introduce the notion of function gateway, a smart contract for connecting two applications with Ethereum's event-watch processing technique. Also, to use the function gateway contract in a robust way, we introduce a robust function gateway that includes the process of confirming whether or not the event-watch has occurred and the node.js module function has been executed. In addition, we present a decentralized application using node.js module for sending actual e-mails based on the function gateway.

References

[1] W. Gavin, “Ethereum: A secure decentralised generalised transaction ledger”, Ethereum Project Yellow Paper, Vol. 151, (2014)

[2] A. Kosba, A. Miller, E. shi, and Z. Wen, Hawk: The blockchain model of cryptography and privacy-preserving smart contracts, Security and Priva-cy (SP), 2016 IEEE Symposium on. IEEE (2016), pp.839-858.

[3] G. Zyskind et al., "Decentralizing privacy: Using blockchain to protect personal data", Security and Privacy Workshops (SPW), (2015) IEEE, pp. 180-184.

[4] Ethereum Dapps, http://dapps.ethercasts.com/

[5] J. H. Jin, H. M. Eom, J. E. Sun, and M. J. Lee, "A Blockchain-based Public Opinion Polling Solution Supporting Robust Verification", In: Proceed-ings of Convergence Research Letter (2017), Vol. 3, No. 3, pp. 245-248.

View more references (10)

[6] Solidity, https://solidity.readthedocs.io/

[7] A. Bogner, M. Chanson and A. Meeuw, "A decentralised sharing app running a smart contract on the ethereum blockchain.", Proceedings of the 6th International Conference on the Internet of Things, (2016), pp. 177-178.

[8] Truffle, https:// github.com/trufflesuite/truffle/.

[9] Node.js, https://Node.js.org/.

[10] Webpack, https://webpack.js.org/.

[11] H. M. Eom, J. H. Jin, and M. J. Lee, "A Technique for Sending Email in association with the Truffle Ethereum Development Framework", Interna-tional Journal of Private Cloud Computing Environment and Management (2018), Vol. 5, No. 1, pp. 1-6

[12] V. Buterin, “A next-generation smart contract and decentralized application platform”, Ethereum project white paper, (2014).

[13] H. Watanabe, S. Fujimura, A. Nakadaira, Y. Miyazaki, A. Akutsu, and J. Kishigami, "Blockchain contract: Securing a blockchain applied to smart contracts", 2016 IEEE International Conference on Consumer Electronics (ICCE), (2016), pp. 467–468.

[14] S. Nakamoto, "Bitcoin: A peer-to-peer electronic cash system", (2008)

[15] Nodemailer, https://nodemailer.com/


How to Cite

Eom, H.-M., Jin, J.-H., & Lee, M.-J. (2026). Techniques for Using Server-side Node.js Modules with the Truffle Ethereum Development Framework. International Journal of Engineering and Technology, 8(1.4), 448-457. https://doi.org/10.14419/ijet.v8i1.4.25455