Trong lập trình máy tính, thư viện là một tập hợp các tài nguyên ổn định được lập tài liệu đầy đủ, có thể bao gồm các tệp thực thi, tài liệu, mẫu thông báo và mã đã viết. Thư viện cũng có thể chỉ một bộ sưu tập các mô-đun được viết sẵn thực hiện các hành động cụ thể hoặc tạo ra các kết quả đầu ra nhất định khi sử dụng. Các mô-đun này có thể ở dạng mã, định nghĩa lớp, thủ tục, script và dữ liệu cấu hình. Điều này cho phép nhà phát triển tái sử dụng các chức năng do thư viện cung cấp thay vì tự tạo ra các mô-đun mới. Thư viện có thể dùng chung cho việc sử dụng không chuyên biệt, như cho biết thời gian hoặc thực hiện các phép toán cơ bản, hoặc chuyên biệt cho các trường hợp sử dụng đặc biệt, như giải mã nén tệp âm thanh.
Việc sử dụng thư viện mã mang lại nhiều lợi ích cho nhà phát triển và nhà khoa học máy tính. Một số lợi ích bao gồm việc sử dụng thời gian và tài nguyên hiệu quả hơn, giúp nhà phát triển dễ dàng hơn trong việc tạo và thực thi phần mềm.
Tuy nhiên, một nhược điểm của việc sử dụng thư viện mã là "Hiệu ứng Hộp Đen", trong đó nhà phát triển chỉ có thể thấy đầu vào và đầu ra của việc sử dụng nó, thường dẫn đến việc hiểu rất ít hoặc không hiểu gì về những gì xảy ra ở giữa.
Thư viện phần mềm là một tập hợp các phần tử mã, chẳng hạn như các quy trình lập trình hoặc đoạn mã, có thể được tái sử dụng trong việc phát triển các dự án phần mềm khác. Việc sử dụng thư viện phần mềm giúp giảm thời gian phát triển mã mới và cung cấp các phương pháp ngắn hơn để đơn giản hóa quá trình lập trình.
Thư viện phần mềm có nhiều loại, mỗi loại tập trung lưu trữ các phần tử mã khác nhau. Mục đích của thư viện phần mềm có thể khác nhau tùy thuộc vào việc nó được dành cho phát triển front-end hay back-end, được sử dụng để xử lý dữ liệu, hoặc cần thiết cho các bài tập lập trình tổng quát hơn.
Trong việc phát triển các hệ thống dựa trên blockchain, thư viện phần mềm đóng vai trò quan trọng. Blockchain Ethereum được sử dụng rộng rãi làm nền tảng để tạo ra các dự án blockchain. Các tiêu chuẩn token khác nhau, như ERC-20 hoặc ERC-721, được xây dựng trên Ethereum và dựa vào các thư viện như web3.js và ethereum.js để đơn giản hóa quá trình tích hợp.
Việc lập trình một blockchain từ đầu là tốn kém, phức tạp và mất nhiều thời gian. Do đó, các thư viện phần mềm blockchain được sử dụng để hợp lý hóa quy trình và lập trình hiệu quả hơn.
Các thư viện phần mềm được sử dụng trong hệ sinh thái Ethereum tận dụng cơ chế độc đáo của hợp đồng thông minh. Những chương trình tự thực thi này đơn giản hóa việc phát triển các giải pháp dựa trên blockchain và nâng cao khả năng tái sử dụng tổng thể của mã được lưu trữ trong thư viện phần mềm.