Choose one node as the reference (usually the node with the most
branches, and/or a node that is at one end of an independent voltage source).
Label the rest
of the nodes with numbers 1, 2, ....
Assign variables to the unknown
"node voltages" v1, v2, ....
Each vk is the voltage rise
from the reference node to node k.
Write KCL at each nonreference node, with positive current
leaving each branch.
If the circuit contains dependent sources,
find expressions for the controlling variables in terms of the node
voltages, and substitute these into the network equations,
yielding equations having only the node voltages as unknowns.
Solve the resulting set of simultaneous linear equations.
If desired, other voltages and currents in the circuit may
be computed from the node voltages.
Dealing with voltage sources:
Avoid writing equations that require the current
through a voltage source.
Voltage sources directly relate node voltages,
and sometimes reduce the number of simultaneous equations.
Supernodes allow you to write KCL at a larger node
(involving more than one node voltage).
Then voltage sources "inside" the supernode
provide another equation to relate the node voltages.